1、使用mysqldump进行备份
- 使用格式
// path 保存的到哪里的路径,例如 /root/user/back.sql
mysqldump [选项] db_name [ta_name ...] > path
mysqldump [选项] --db_name ... > path
mysqldump [选项] --all-databases > path
-
mysqldump中的【选项】
-x, –lock-all-tables: 在备份前的那一刻为所有库的所有表施加读锁
-l, –lock-tables: 当存在多个库时,分开为每个库的所有表施加读锁。此选项可能导致多个库之间的数据不一致
–single-transaction: 创建一个事务,基于此事务执行备份。若备份数据库中的表的存储引擎是InnoDB,则此备份操作为热备,否则为温备
-R, –routines: 备份时同时备份存储过程和存储函数
–triggers: 备份时同时备份触发器
-E, –events: 备份时同时备份事件调度器
–master-data[=#]: 备份时记录下备份前的那一刻mysql服务器所使用的二进制日志文件及其所处的位置
–master-data[=#]中,#号的使用
1:记录的change master to语句不被注释
2:记录的change master to语句将被注释
–flush-logs: 锁定表完成后,即进行日志刷新操作 -
示例
[https://codingstandards.iteye.com/blog/1157513](https://codingstandards.iteye.com/blog/1157513)
备份mysql数据库的所有库中的所有表
[root@movekj ~]$ mysqldump -x --master-data=2 --flush-logs --all-databases > ~/my_backup$(date +%F+%T).sql
恢复数据库
[root@movekj ~]$ mysql -e 'source /root/my_backup.sql'
网友评论