mysql的数据备份与还原方法

  

1。,mysqldump命令备份

, mysqldump - u用户- h主机-ppassword dbname [tbname [tbname……]]比;文件名。sql

值得注意的是tbname为dbname需要备份的数据表

1。单个库备份

, mysqldump - u用户- h主机-ppassword dbname祝辞filename.sql

2。单库指定表

, mysqldump - u用户- h主机-ppassword dbname a_table b_table祝辞filename.sql

3。多个库

, mysqldump - u用户- h主机-ppassword——数据库dbname_1 dbaname_2祝辞filename.sql

4。备份所有数据库

, mysqldump - u用户- h主机-ppassword——所有数据库比;filename.sql

5。只导结构

, mysqldump - u用户主机-ppassword - h - t dbname比;filename.sql

6。msqldump其他参数详解


——apply-slave-statements

在& # 39;改变主# 39;前添加& # 39;停止奴隶# 39;,并且在导出的最后添加& # 39;开始奴隶# 39;。

, mysqldump -uroot - p——所有数据库apply-slave-statements


导,兼容出的数据将和其它数据库或旧版本的MySQL相兼容。值可以为ansi, mysql323, mysql40, postgresql,甲骨文,该软件,db2, maxdb, no_key_options, no_tables_options, no_field_options等,

要使用几个值,用逗号将它们隔开。它并不保证能完全兼容,而是尽量兼容。

, mysqldump -uroot - p——所有数据库兼容=ansi


,

紧凑导出更少的输出信息(用于调试)。去掉注释和头尾等结构。可以使用选项:——skip-add-drop-table skip-add-locks——skip-comments skip-disable-keys

, mysqldump -uroot - p——所有数据库——紧凑


——complete-insert - c

使用完整的插入语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。

, mysqldump -uroot - p——所有数据库complete-insert


——压缩- c

在客户端和云服务器之间启用压缩传递所有信息

, mysqldump -uroot - p——所有数据库压缩


——数据库- b

导出几个数据库。参数后面所有名字参量都被看作数据库名。

, mysqldump -uroot - p - MySQL数据库测试


——调试

输出调试信息,用于调试。默认值为:d:师:啊,/tmp/, mysqldump。跟踪

, mysqldump -uroot - p——所有数据库调试

, mysqldump -uroot - p -所有数据库- debug=" d:师:啊,/tmp/调试。跟踪”


——debug-check

检查内存和打开文件使用说明并退出。

, mysqldump -uroot - p——所有数据库debug-check


——debug-info

输出调试信息并退出

, mysqldump -uroot - p——所有数据库debug-info


——delete-master-logs

主备份后删除日志。这个参数将自动激活--master-data。

mysqldump -uroot -p --all-databases --delete-master-logs


--disable-keys

--dump-slave

该选项将导致主的binlog位置和文件名追加到导出数据的文件中。设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,在命令前增加说明信息。该选项将会打开--lock-all-tables,除非--single-transaction被指定。该选项会自动关闭--lock-tables选项。默认值为0。

mysqldump -uroot -p --all-databases --dump-slave=1

mysqldump -uroot -p --all-databases --dump-slave=2


--events, -E

导出事件。

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

mysql的数据备份与还原方法

--extended-insert, -e

使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项。

mysqldump -uroot -p --all-databases

mysqldump -uroot -p --all-databases--skip-extended-insert (取消选项)


--flush-logs

开始导出之前刷新日志。

请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data 和--flush-logs。

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


--flush-privileges

在导出mysql数据库之后,发出一条FLUSH PRIVILEGES 语句。为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据的任何时候。

mysql的数据备份与还原方法