前言: MySQL的完全恢复,我们可以借助于完整的 备份+binlog 来将数据库恢复到故障点. 备份可以是热备与逻辑备份(mysqldump),只要备份与binlog是完整的,都可以实现完全恢复. 1. 准备实验环境 mysql> select version(); +------------+ | version() | +------------+ | -log | +------------+ row in set (0.00 sec) mysql> create database c…
前言:MySQL的完全恢复,我们可以借助于完整的 备份+binlog 来将数据库恢复到故障点.备份可以是热备与逻辑备份(mysqldump),只要备份与binlog是完整的,都可以实现完全恢复. 1. 准备实验环境mysql> select version();+------------+| version() |+------------+| 5.6.25-log |+------------+1 row in set (0.00 sec)mysql> create database com…
说明:一般来说,如果恢复的binlog量不大,可以使用此方法来恢复:mysqlbinlog /data/mysqlbak/binlogbak/restoredb-bin.000018 |mysql -u root -pchengce243 但是如果binlog量非常大,使用此方法会非常慢,下面介绍一种方法,让MySQL模拟成slave恢复,速度非常快. 测试表中数据mysql> select * from testdb.testtab;+-------+-----------+| id | na…
备份先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password chengce243 /data/mysqlbak 执行完命令后,/data/mysqlbak 目录下会生成目录: 2018-08-06_14-19-12 记下操作后的 position 点mysql> show master status;+----------------------+----------+--------------+---…
看 了上一篇博文的发布时间,到目前已经有三个月没更新博文了.这三个月经历了很多事情,包括工作.生活和感情等等.由于个人发展的原因,这个月准备换工作 啦.在这段时间,我会把Web大型项目中所接触到的技术都总结出来,分享给各位支持我的博友.博客园是个好地方,在这里能学到很多东西,同时你也可以收获 很多东西,就比如我本人,去年被两个比较大型的在线培训机构邀请当讲师(只接受了一家,当然由于太忙所以课程录制也不是特别多),另有一企业聘请我写一本 技术相关的书籍(我拒了,没时间写)等等,这些都是我在博客园里…
看了上一篇博文的发布时间,到目前已经有三个月没更新博文了.这三个月经历了很多事情,包括工作.生活和感情等等.由于个人发展的原因,这个月准备换工作啦.在这段时间,我会把Web大型项目中所接触到的技术都总结出来,分享给各位支持我的博友.博客园是个好地方,在这里能学到很多东西,同时你也可以收获很多东西,就比如我本人,去年被两个比较大型的在线培训机构邀请当讲师(只接受了一家,当然由于太忙所以课程录制也不是特别多),另有一企业聘请我写一本技术相关的书籍(我拒了,没时间写)等等,这些都是我在博客园里得到的回…
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:guozhen.zhang     import MySQLdbimport timeimport os   # 创建备份binlog目录project_path = '/data/binlog_back'  # 定义备份日志的目录binlog_file = "/data/binlog_back/binlog_file"  # 定义获取日志的存放文件last_binlog_fil…
早晨睡梦中,被 on-call了,说磁盘报警,赶紧起来打开email,收到上百封email报警,数据库磁盘不够了,查询了原因 [xxx@xxxx cacti]$ ssh xxxx "df -h" /dev/mapper/Sys-mysqldata 300G 270G 30G 90% /mysqldata 15G 166M 14G 2% /mysqldata/binlog 这2天业务量增长比较快,猜测可能是产生了过多的binlog导致的. [xxx@xxxx cacti]$ ssh xx…
1.5.7版本前修改my.cnf文件,添加log-bin=my-bin(my.cnf的位置根据自己安装的路径查看)# vi /usr/local/mysql/my.cnflog-bin=my-bin            #my-bin就是bin-log文件的名字,可以根据各自情况自定义文件名 或自定义存放bin-log的位置,默认情况下是在mysql data目录下,如log-bin=/mysql/data/my-bin注意:/mysql/data文件夹的权限需要mysql的.修改后需要重启m…
用mysqlbinlog查出需要查看的数据后,可以用more来查看: [root@yoon data]# more recover_sakila.sql | grep --ignore-case -E 'insert' -A2 -B2 | grep yoon 如果表名包含yoon_log,yoon_order,只想导出yoon表的话,+个-w[root@yoon data]# more recover_sakila.sql | grep --ignore-case -E 'insert' -A2…