mysqldump

Posted shiji888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysqldump相关的知识,希望对你有一定的参考价值。

$mysqlDUMP
-u$db_user                      用户
-p$db_passwd                 密码
--all-databases                备份所有库
--opt                                包含下面一系列参数,--opt是默认使用的选项                       

--add-drop-table             在每一条CREATE TABLE之前写入DROP TABLE命令
--add-locks                     在备份时进行锁表,备份完释放表锁。这样可以避免快速写入数据造成脏读
--create-options              在CREATE TABLE语句包含所有表选项
--disable-keys                 在每一个表众的INSERT都会使用 /*!40000 ALTER TABLE tbl_name DISABLE KEYS */ /*!40000 ALTER TABLE tbl_name DISABLE KEYS */ 包起来。这样可以使还原时速度更快,因为索引信息在所有INSERT操作之后才会建立,这个选项只会影响MyISAM表nonunique索引,其他引擎不会生效
--lock-tables                    长INSERT,多row一起批量INSEET,提高导入速度。
--quick                            在备份数据量比较大的表时有用,将数据读入内存,在输出完成之前存在内存缓冲区。
--set-charset                  在输出的文件中添加SET NAMES 指定

########################################
--events                          导出事件
--triggers                        会在导出每个表时都导出触发器,不过需要具有TIGGER的权限,此选项默认启用。
--routines                        导出存储过程以及自定义函数。
--default-character-set=utf8                设置字符格式
--master-data=2                                   注释change master to,默认为“1”; slave上备份时候会执行
--single-transaction                       保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他回话已经提交了的数据。
--complete-insert                           在insert语句时包含列名。
--quote-names                             使用“`”包围数据库名、表名、列名等标识符。若使用了ANSI_QUOTES则用“””包围
--log-error=$backup_dir/mysqldump$time.log                错误日志
| $GZIP -9 >"$backup_dir/backup.0/$time.all_mysql.gz"

以上是关于mysqldump的主要内容,如果未能解决你的问题,请参考以下文章

逻辑备份,mysqldump,SELECT…INTO OUTFILE,恢复

mysql数据库.sql备份文件的恢复方法