mysql全备份 + 增量备份
mysql全备份 + 增量备份
- 
配置文件: - 
管理mysql配置文件,打开binlog日志 - 对于mysql数据库:
- log_bin = /var/log/mysql/mysql_bin.log
- server-id = 1(必须有,否则重启fail)
 
- 对于mariadb数据库:
- log_bin = /var/log/mysql/mysql-bin.log
 
 
- 对于mysql数据库:
- 
修改配置文件后需要重启mysql服务: - service mysql restart | /etc/init.d/mysql restart
 
- 
可登陆数据库查看是否启用binlog: - show variables like "log_%";
 
- 
查看当前正在写入的binlog日志: - show master status;
- 此处可能需要给当前用户授予REPLICATION CLIENT权限:grant REPLICATION CLIENT ON *.* TO user;
 
 
- 
- 
全备份: 使用mysqldump - mysqldump -F -uxxx -p --databases anheisg > /home/dw/backup/anheisg.sql
- -F表示刷新binlog日志,用于增量备份
 
- 
增量备份: - 增量备份数据从binlog日志中得到
 
- 
数据恢复: - show master status;查看当前正在写入的binlog日志,如mysql-bin.000005
- 全备份恢复
- mysql -udw -pxxx anheisg < /home/dw/backup/anheisg.sql
 
- flush logs;将数据库的修改写入新的binlog日志,这样便于查看和处理mysql-bin.000005
- 增量备份恢复
- 方法一:
- show binlog events in 'mysql-bin.000005';查看错误操作的pos和end_pos
- mysqlbinlog --no-defaults /var/log/mysql/mysql_bin.000005 --stop-position=878 | mysql -uroot -p anheisg
- 使用mysqlbinlog命令恢复增量备份,--start-position=xxx和--stop-position=xxx可指定恢复的区间
 
- 方法二:
- mysqlbinlog --no-defaults /var/log/mysql/mysql_bin.000005 -d anheisg > anheihei.sql
- 在导出的sql文件中删除误操作命令,然后恢复即可
- mysql -udw -pxxx anheisg < anheihei.sql
 
 
- 方法一:
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号