MySQL学习笔记3 - mysqldump

mysqldump命令备份数据的原理:就是把数据从MySQL库里以逻辑的sql语句形式直接输出或者生成备份的文件的过程。(逻辑备份)

用法:mysqldump -u 用户名 -p 数据库名 表名 > 备份的文件名.sql

 

1. mysqldump 加-B参数的作用是增加创建数据库和连接数据库的命令。即如下两条语句:

1 CREATE DATABASE `db_name`;
2 
3 USE `db_name`;

2. 优化备份文件大小,减少输出注释,让容量更少,适合调试(useful for debugging)

  利用mysqldump的--compact参数优化下备份结果

--compact           Give less verbose output (useful for debugging). Disables
                      structure comments and header/footer constructs.  Enables
                      options --skip-add-drop-table --skip-add-locks
                      --skip-comments --skip-disable-keys --skip-set-charset.

3. 指定压缩命令压缩备份的MySQL数据

4. 分库备份意义:有时一个企业的数据库里会有很多个库,但是出问题时的很可能时某一个库,如果在备份时把所有的库都备份成一个数据文件的话,恢复某一个库的数据时就比较麻烦。

 

总结:mysqldump关键参数说明 mysqldump --help

  1.  -B 指定多个库,增加建库语句和use语句;
  2.  --compact去掉注释,适合调试,生产环境中不用;
  3.  -A 备份所有库;
  4.  -F 刷新binlog日志;
  5.  -x, --lock-all-tables 锁表
  6. --master-log 增加binlog日志文件名及对应位置点。
  7. -l, --lock-tables Lock all tables for read
  8.  -d 只备份表结构
  9.  -t 只备份数据
  10.  --single-transaction 适合innodb事务数据库备份
    1. InnoDB表在备份时,通常启用选项 --single-transaction来保证备份的一致性,实际上,它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交的数据。 
posted on 2019-07-19 14:00  billyCheng  阅读(342)  评论(0编辑  收藏  举报