• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Mysql 备份/复原方案_mysql

mysql 搞代码 7年前 (2018-06-09) 126次浏览 已收录 0个评论

mysql 备份/还原方案
Mysql 备份方案

Mysql 的四种备份方案参考:
http://www.cnblogs.com/SQL888/p/5751631.html

这里使用的是增量加全备方案
参考:http://blog.csdn.net/hijiankang/article/details/10999501

全备命令:
mysqldump -uroot -p –single-transaction –flush-logs –master-data=2 –events –ignore-table=mysql.events –all-databases –delete-master-logs >/data/mysql/backup/full_bk.sql;

注:
–flush-logs 切割binlog,这样不用担心如何去区分在备份过程中新进来的数据。
–delete-master-logs 在备份完成后删除已备份的binlog文件

如果是远程备份,请加上以下项:
-e –max_allowed_packet=4194304 –net_buffer_length=16384
max_allowed_packet和net_buffer_length要和服务器上的参数一致,服务器上查看方法:
mysql> show variables like ‘max_allowed_packet’;
mysql> show variables like ‘net_buffer_length’;

增量备份:
mysqladmin -uroot -p flush-logs;

建一个backup用户
grant ALL on *.* to `backup`@`localhost` identified by ‘111111’;

脚本

full_bk.sh

#! /bin/bash
/bin/su -s /bin/sh – mysql -c “mysqldump -ubackup -p111111 –single-transaction –flush-logs –master-data=2 –events –ignore-table=mysql.events –all-databases –delete-master-logs >/home/mysql/full_bk_$(date +%Y-%m-%d_%H:%M:%S).sql” >> log_$(date +%Y-%m-%d_%H:%M:%S).log 2>&1

increase_bk.sh

#! /bin/sh
/bin/su -s /bin/sh – mysql -c “mysqladmin -ubackup -p111111 flush-logs” >> increaseLog_$(date +%Y-%m-%d_%H:%M:%S).log

设置定时任务
crontab -e
#每周六的3点执行全库备份
00 3 * * 6 /home/mysql/full_bk.sh
#每天12点执行增量备份
00 12 * * * /home/mysql/full_bk.sh

数据库恢复

1. service mysql stop

2. 拷贝/data/mysql/data/下日期大于最后一次全库备份文件日期的binlog文件到其它地方

3. 把其它相关DB机器上的slave停掉

4. 删除/data/mysql/data/下所有文件

5. mysql_install_db

6. 开始还原数据

service mysql start

mysql> SHOW DATABASES;   #查看数据库, 数据丢失!
mysql> SET sql_log_bin=OFF;   #暂时先将二进制日志关闭 

mysql -uroot -p < full_bk_20170824001553.sql

mysql> SHOW DATABASES;   #数据库恢复

还原日期大于最后一次全库备份文件日期的binlog文件中的数据
mysqlbinlog /data/backup/mysql-bin.000007 /data/backup/mysql-bin.000008 /data/backup/mysql-bin.000009

mysql> SET sql_log_bin=ON; 开启二进制日志

查看master状态
mysql> show master status;

更新slave机器上的master信息.

欢迎大家阅读《Mysql 备份/复原方案_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mysql 备份/复原方案_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址