使用mysqldump命令进行mysql数据库备份

一、用法mysql

mysqldump -uroot -p --databases test > /home/test.dump
mysqldump -uroot -h127.0.0.1 -p --databases test --single-transaction --set-gtid-purged=off --max_allowed_packet=512M > /home/test.sql

二、参数说明sql

-uroot:数据库用户名为root数据库

-h172.16.43.131:指定mysql数据库IP地址spa

-p:设置参数线程

--databases test:设置导出的数据库为test,能够同时导出多个库,库名用空格隔开,如--databases test1 test2,也能够导出全部库,使用--all-databases参数code

--single-transaction:设置事务隔离级别为可重复读,保证dump期间,其余线程对提交的数据不会影响本次数据,改期间也不会锁表blog

--lock-all-tables:锁全部表,相对--single-transaction,dump期间,其余线程都不能提交数据(默认策略)事务

--no-data:不备份数据,只备份数据库结构ip

--set-gtid-purged=off:关闭全局事务 ID (GTID)io

--max_allowed_packet=512M:设置max_allowed_packet大小,值最好等于my.conf配置的大小,不然会出现Got packet bigger than 'max_allowed_packet' bytes when dumping table `xxx` at row: 3540错误

三、压缩备份

mysqldump -uroot -p --databases test | gzip > /home/test.dump.zip

 

出现的错误:

一、mysqldump: Error 3024: Query execution was interrupted, maximum statement execution time exceeded when dumping table `base_uploadfileblob` at row: 5549

max_execution_time设置太小。默认为0,表示不限制时间,可修改/etc/my.conf文件进行配置,单位为毫秒,如:max_execution_time=100000

相关文章
相关标签/搜索