一 单机全量备份
1,备份单个数据库:
语法:备份oldboy库中所有的表
mysqldump -uroot -p’123456’ oldboy >/opt/oldboy_bak.sql
2,备份时加 -B 的作用:
在备份的时候,会在备份文件的最开始加上创建库的语句(create database name)和使用该库(use databasename)
做恢复操作的时候,就不需要手动创建库
mysqldump -uroot -p’123456’ -B oldboy >/opt/oldboy_bak.sql
3,恢复语句
mysql -uroot -p’123456’ < /opt/oldboy_bak.sql (前提是加-B备份的,否则需要加数据库的名字恢复)
mysqldump -uroot -p’oldboy123’ -B oldboy|gzip>/opt/mysql_bak_B.sql.gz
这是把备份压缩
4,备份多个库
备份表的时候 不要加-B ,如果加了的话会认为是两个库。默认第一个为库,后面的都是表
二 mysql 的增量备份
1,开启binlog
2,
-A: 备份所有数据库
-F:刷新binlog日志,切割
mysqlbinlog -d oldboy mysql-bin.000020 >all.sql
只想恢复binlog日志中oldboy 库的数据,-d 指定库
下面这样执行恢复,会把所有的库的操作都恢复,但是生产中并不是所有的库需要恢复。
3,
查看整个数据库运行状态信息,可以分析做好监控
mysql> show global status;
查看正在执行的完整sql语句
mysql> show full processlist;
4,mysqlbinlog
[root@moban ~]#
[root@moban ~]# cat test_bak.sql
wM[ªEJCEɔ}ᷨ JCt9࠽⼻º¿㊇