MySQL备份常用命令总结
1.数据库和数据全部备份
mysqldump -uroot -pPassword -hlocalhost databasename > test.sql
mysqldump -uroot -pPassword -hlocalhost databasename|gzip > /path/a.sql.gz
2.只备份表结构
mysqldump -uroot -ppwd -d 数据库 > test.sql
mysqldump -uroot -ppwd -d 数据库 数据表 ... > test.sql
3.仅备份数据
mysqldump -uroot -ppwd -t 数据库 数据表
4.刷新binlog参数
-F 切换binlog
-A 全库备份
--mast-data=1 可以不用切换binlog直接找到binlog文件的位置,恢复的时候从该文件往下查找(1--不作为注释,2--作为注释)
mysqldump -urot -ppwd -F
5.mysqldump总结
mysqldump --help
-B 指定多个库,增加create库语句及use 库
--compact 去掉注释,调试,生产场景不用。
-A 备份所有库
-F 刷新binlog,原因知道找那个binlog恢复
--mast-data 增加binlog日志文件名及位置点。
-X 锁表
-l 只读锁表
-d 只备份表结构
-t 只备份表数据
--single-transaction 适合innodb事务性数据库备份
--events 备份时忽略掉错误信息
6.生产环境备份
myisam:
mysqldump -uroot -ppwd -A -B --master-data=2 -X|gizp >/opt/all.sql.gz
innodb:
mysqldump -uroot -ppwd -A -B --master-data=2 --single-transaction|gizp >/opt/all.sql.gz
7.MySQL数据库恢复
1:种方式
mysql>source sql逻辑文件.sql
2:种方式
mysql -uroot -ppwd < (指定-B的sql文件)
mysql -uroot -ppwd 数据库< (未指定-B的sql文件)