MysqlDump使用
备份专用参数
通用参数
-u 指定备份用户
-p 指定备份密码
-S 指定socket文件
-h 指定mysql主机
-P 指定mysql端口
本地备份:
mysqldump -uroot -p -S /tmp/mysql.sock
远程备份:
mysqldump -uroot -p -h 10.0.0.51 -P3306
专用参数
-A 全备
-B 备份多个库 如 -B db1 db2 db3
备份单表或者多表
mysqldump -uroot -p123456 database_name table_name1 table_name2 >bak.sql
SELECT CONCAT("mysqldump -uroot -p123 ",table_schema," ",table_name," >/tmp/",table_schema,"_",table_name,".sql" )
FROM information_schema.tables
WHERE table_schema NOT IN('information_schema','performance_schema','sys')
INTO OUTFILE '/tmp/bak.sh' ;
然后打包 备份的sql文件
高级参数使用
-R 备份存储过程及函数
–triggers 备份触发器
-E 备份事件
-F 在备份开始时,刷新一个新binlog日志
–master-data=2 以注释的形式,保存备份开始时间点的binlog的状态信息
–single-transaction innodb 存储引擎开启热备(快照备份)功能
–set-gtid-purged=auto
auto , on ,off
off 使用场景:
--set-gtid-purged=OFF,可以使用在日常备份参数中.
mysqldump -uroot -p -A -R -E --triggers --master-data=2 --single-transaction --set-gtid-purged=OFF >/data/backup/full.sql
auto , on:在构建主从复制环境时需要的参数配置
mysqldump -uroot -p -A -R -E --triggers --master-data=2 --single-transaction --set-gtid-purged=ON >/data/backup/full.sql
–max-allowed-packet=#
mysql根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败
mysqldump -uroot -p -A -R -E --triggers --master-data=2 --single-transaction --set-gtid-purged=OFF --max-allowed-packet=256M >/data/backup/full.sql
MysqlDump使用
http://www.jcwit.com/article/20/