您的位置:首页 > 数据库 > MySQL

mysql5.6.28 备份主要参数学习

2016-03-27 14:05 555 查看
备份

mysqldump -uroot -p123 --master-data=2 --flush-logs --all-databases --lock-all-tables --events >/data/wolf.sql

mysqldump -uroot -p123 --master-data=2 --flush-logs --all-databases --single-transaction --events > /data/wolf.sql

mysqldump -uroot -p123 --default-character-set=utf8 --opt --master-data=1 --single-transaction --flush-logs db_name > db_name.sql

还原

mysql -hhostname -uroot -p123 databasename < /data/wolf.sql

使用参数解释:

--master-data

该选项将binlog的位置和文件名追加到输出文件中。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE MASTER命令前添

加注释信息。该选项将打开--lock-all-tables 选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得

很短的时间;其他内容参考下面的--single-transaction选项)。该选项自动关闭--lock-tables选项。

如下:

mysqldump -uroot -p --host=localhost --all-databases --master-data=1;

mysqldump -uroot -p --host=localhost --all-databases --master-data=2;

--flush-logs

开始导出之前刷新日志。

请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或

者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用

--lock-all-tables 或者--master-data 和--flush-logs。

mysqldump -uroot -p --all-databases --flush-logs

--all-databases , -A

导出全部数据库。

--lock-all-tables, -x

提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction 和--lock-tables 选项。

mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables

--lock-tables, -l

开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,--single-transaction是一

个更好的选择,因为它根本不需要锁定表。

请注意当导出多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。

不同数据库表的导出状态可以完全不同。

mysqldump -uroot -p --host=localhost --all-databases --lock-table

--events, -E

导出事件。

mysqldump -uroot -p --all-databases --events

--single-transaction

该选项在导出数据之前提交一个BEGIN?SQL语句,BEGIN?不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引

擎,仅InnoDB。本选项和--lock-tables?选项是互斥的,因为LOCK TABLES会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick选项。

mysqldump -uroo -p --host=localhost --all-databases --single-transaction
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: