失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL备份方案–(利用mysqldump以及binlog二进制日志)

MySQL备份方案–(利用mysqldump以及binlog二进制日志)

时间:2024-06-05 15:36:45

相关推荐

MySQL备份方案–(利用mysqldump以及binlog二进制日志)

数据库|mysql教程

MySQL备份,mysqldump,MySQL备份方案–(

数据库-mysql教程

网络问卷调查系统源码,vscode 翻译插件配置环境,装ubuntu卡,tomcat 多主机,sqlite加密dll,网页设计 字体 大小,如何远程登录数据库,定时重启服务器 iis,微定位插件源,前端框架,家里生爬虫,php prc,枝江seo,springboot登录检查,网站目录管理模板下载,相机网页模板,页面简单的网站模板免费下载,后台模板怎么使用,html 滚动页面,旧货交易管理系统,题库 小程序lzw

随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略。使用mysqldump对于mysql

android短信验证登陆源码,vscode运行很慢,树莓派Ubuntu 桌面版开机,RTC添加tomcat,sqlite通配符怎么用,文字轮播插件,如何从零写前端框架,python爬虫程序设计,php门户系统,网站seo体检,asp化妆品网站 后台,网页qq登陆界面代码下载,化工行业网站模板,免费的团购程序lzw

源码搭建tengine,vscode设置git忽略文件,ubuntu 蓝牙驱动,usn tomcat,sqlite存xml,网页设计怎么命名,美国服务器租用1000M,gridreport5报表插件,bulam前端框架,爬虫网络犯罪,linux搭建php,福建seo博客,springboot主类,asp网站毕业答辩,调查问卷网页模板下载,织梦房产企业模板,ecshop的后台地址,html前端页面模板下载,会员消费管理系统源码,天龙八部私服程序lzw

随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略。使用mysqldump对于mysql大部分mysql存储引擎比如myisam、innodb都有很好的支持。

方案一:mysqldump全备份+日志增量备份

1, mysqldump备份方案:

周一凌晨3点全备

周二到周日凌晨3点增量备份

2, 备份步骤

(1) 创建备份目录,备份脚本存放目录

Shell > mkdir /usr/mysqlbackup;

Shell > chmod 755 /usr/mysqlbackup;

Shell > mkdir /usr/mysqlbackup/daily;

Shell > chmod 755 /usr/mysqlbackup/daily;

Shell > mkdir /usr/script;

Shell > chmod 777 /usr/script/*.sh

(2) 启用二进制日志

如果日志没有启开,必须启用binlog,要重启mysqld,首先,关闭mysqld,,打开/etc/f,加入以下几行:

[mysqld]

log-bin

然后重新启动mysqld,会产生hostname-bin.000001以及hostname-bin.index,前面的日志文件是记录所有对数据的更新操作,后面的文件是存储所有二进制文件的索引,不能轻易被删除。

(3) 全备份,增量备份。

详细见mysqlFullBackup.sh、mysqlDailyBackup.sh脚本。

下面是部分shell上单个手动执行的测试命令。

Shell> /usr/local/mysql/bin/mysqldump -uroot-pnYuIman25040slave12301124 –no-create-info=FALSE –order-by-primary=FALSE–force=FALSE –no-data=FALSE –tz-utc=TRUE –flush-privileg

es=FALSE –compress=FALSE –replace=FALSE–insert-ignore=FALSE –extended-insert=TRUE –quote-names=TRUE –hex-blob=TRUE–complete-insert=FALSE –add-locks=TRUE –port=3306 –d

isable-keys=TRUE –delayed-insert=FALSE–create-options=TRUE –delete-master-logs=FALSE –comments=TRUE–default-character-set=utf8 –max_allowed_packet=1G –flush-logs=FALSE –

-dump-date=TRUE –lock-tables=TRUE–allow-keywords=FALSE –events=FALSE –single-transaction=TRUE –routines–all-databases > /backup/mysql/full/mysql_0104_195546.sql

(4) 设置crontab任务,每天执行备份脚本

shell> crontab –e

#每个星期日凌晨3:00执行完全备份脚本

0 3 * * 0 /usr/scrpit/mysqlFullBackup.sh>/dev/null 2>&1

#周一到周六凌晨3:00做增量备份

0 3 * * 1-6/root/MySQLBackup/mysqlDailyBackup.sh >/dev/null 2>&1

(5) 清除旧的备份文件。

每天去看查看下备份磁盘空间,删除旧的备份压缩文件。

3, 数据库恢复

【注释】如果增量恢复操作中报“ERROR 1051 (42S02) at line 32: Unknown table ‘fin_cell_attr_his’”类似的错误,则需要现create一张空表,然后再执行增量恢复。

Mysql> createtable tb1 ……;

(1) 全恢复:

用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,直接用 mysql命令恢复最后一次全备份:

先从备份文件服务器上copy出来,解压缩,再恢复,例如:

Shell>/root/s3cmd/s3cmd get s3://csf-backup/mysqldb/ mysql_1216_231900.sql.tar.gz /usr/mysqlrestore/

Shell>/root/s3cmd/s3cmd get s3://csf-backup/mysqldb/ mysql_binlog_1217_030100.tar.gz /usr/mysqlrestore/

Shell>cd /usr/mysqlrestore/

Shell>tar -xvf mysql_1216_231900.sql.tar.gz

Shell>tar -xvf mysql_binlog_1217_030100.tar.gz

刷新日志:

Mysql>flush logs;

恢复最后一次全备份命令:

Shell>/usr/local/mysql/bin/mysql -uroot -p123456 </tmp/mysqlbackup/backup_1215_adb.sql

恢复最后一次全备份之后的所有增量备份命令:

Shell>/usr/local/mysql/bin/mysqlbinlog mysql-bin.00007 mysql-bin.00008mysql-bin.00009 mysql-bin.00010 mysql-bin.00011 | mysql

检查:查看数据库结构以及数据。

相关阅读:

Linux下通过mysqldump备份MySQL数据库成sql文件

Linux中使用mysqldump对MySQL数据库进行定时备份

本文的更多详情请继续阅读第2页的精彩内容:

如果觉得《MySQL备份方案–(利用mysqldump以及binlog二进制日志)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。