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/
作者
Carlos
发布于
2019年6月13日
许可协议