mysqldump 备份数据说明+ 避免锁表
1、mysqldump命令备份Mysql数据库的参数说明
在用mysqldump备份使用那些参数选项是最完美的组合呢?
--skip-opt
--create-option ----添加create相关的选项
--single-transaction ----一致性备份
-q ----采用快速的dump方式(提高导出性能)
-e ----采用多重insert语句形式(提高还原性能),当一个表的数据量很大情况下不知道会不会导致死锁?
--no-autocommit ----采用批量提交方式(提高还原性能)
-R ----导出存储过程,函数,和触发器
--master-data ----如果有写log-bin且版本为5.0以上的版本,则再加上 --master-data=2
--events ----如果是5.1以上的版本使用,包含事件
几个使用mysqldump时的报错
1.mysqldump:Got error:2013
在使用mysqldump的时候(尤其是向NFS上备份的时候),很多人都被'mysqldump:Got error:2013: Lost connection to MySQL server during query when dumping table'的问题困扰,在Manual中对这个问题有一些简单的说明。
解决办法:增加net_write_timeout可以解决上述的问题的
2.Mysqldump导出AUTO_INCREMENT列的问题
如果是复制表的结构需要去掉auto_increment的option,可以写个脚本把这个选项去掉
3.Mysqldump过程中遇到的Out of Memory问题处理
当DB数据量很大的时候,导出数据可加上-q Option。但是如果用了--skip-opt,那么-q Option必须放在--skip-opt的后面
备份数据库时 用 命令 mysqldump -u user -p xxx>xxx.sql发现没有完全备份数据库记录,加上 --skip-opt选项后好了
对一个正在运行的数据库进行备份请慎重!! 如果一定要 在服务运行期间备份,请添加 --skip-opt选项,
类似执行: mysqldump --skip-opt -u root --password=123456 dbname >mySQL.SQL