linux命令,mysql批量导出多个数据库。单个的是mysqldump -uroot - p 库名 > ******.sql;

linux命令,mysql批量导出多个数据库。单个的是mysqldump -uroot - p 库名 > ******.sql;,第1张

MySql的备份命令

myisam引擎

#mysqldump -uroot -pxxx -A -B -F --master-data=2  -x --events >/opt/namesqlgz

innodb引擎

#mysqldump -uroot -pxxx  -A -B -F --master-data=2 --events --single-transaction | gzip>/opt/namesqlgz

--master-data 这个参数在建立slave数据的时候会用到,当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,file和position记录的位置就是slave从master端复制文件的起始位置。默认情况下这个值是1 当这个值是2的时候,chang master to也是会写到dump文件里面去的,但是不会有上面那个作用了 --master-data=1   (--master-data=2注释) 表示在dump过程中记录主库的binlog和pos点,并在dump文件中不注释掉这一行,即恢复时会执行; -F 切割binlog参数

-A 备份所有库  -B, --databases      备份数据时使用-B参数,会在备份数据中增加建库及use库的语句 使用-B参数,后面可以接多个库,否则只能有一个库,之后的都被认为是表

--single-transaction 适合innodb事务数据库备份(可代替锁表) 设置事务的隔离级别为可重复读,即REPEATABLE READ,这样能保证在一个事务中所有相同的查询读取到同样的数据,也就大概保证了在dump期间,如果其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响 :InnoDB 表在备份时,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。

-x,--lock-all-tables    Locks all tables across all databases This is achieved by taking a global read lock for the duration of thewhole dump Automatically turns --single-transaction and --lock-tables off

-l, --lock-tables   Lock all tables for read

你可以看看我的博客

>

使用mysqldump命令导出sql文件

(1)导出整个数据库的数据

mysqldump -u 用户名 -p 数据库名称>存放位置+导出的文件名称

(2)导出某个表的数据

mysqldump -u 用户名 -p 数据库名称 表名>存放位置+导出的文件名称

(3)导出某个表的结构

mysqldump -d -u 用户名 -p 数据库名称 表名>存放位置+导出的文件名称

(4)导出数据库的结构

mysqldump -u 用户名 wcnc -p -d --add-drop-table smgp_apps_wcnc>存放位置+导出的文件名称

-d没有数据 --add-drop-table 在每个create语句之前增加一个drop table

(5)远程导出数据库的数据

mysqldump -h ip -u 用户名 -p 数据库名称>存放位置+导出的文件名称

1、MySQL数据库导出 /usr/local/mysql/bin/mysqldump -u root -p123456 test> /home/backup/testsql 其中:root为数据库用户名 123456为对应root数据库密码 test是需要导出的数据库名。 /home/backup/testsql是数据库文件sql导出的路径。

导出用exp导入用imp,要导入的数据库先装数据库,建一个同名的空库

命令例子:

exp system/oracle file=/opt/db20111013sql log=/opt/explog full=y

imp导入写法相同不用加full=y

以上就是关于linux命令,mysql批量导出多个数据库。单个的是mysqldump -uroot - p 库名 > /***/***.sql;全部的内容,包括:linux命令,mysql批量导出多个数据库。单个的是mysqldump -uroot - p 库名 > /***/***.sql;、Linux系统下怎么把MySQL的数据库拷贝出来、Linux系统下mysqdump在导出数据时,没有指定任何目录,那么导出的文件默认存放在哪里呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9420346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存