您的位置:首页 > 文旅 > 美景 > mysql数据库管理-mysqlbinlog备份与恢复,主备复制分析

mysql数据库管理-mysqlbinlog备份与恢复,主备复制分析

2024/12/23 11:17:16 来源:https://blog.csdn.net/oradbm/article/details/139300654  浏览:    关键词:mysql数据库管理-mysqlbinlog备份与恢复,主备复制分析

由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文件的文本格式,

就会用到mysqlbinlog日志管理工具。
mysqlbinlog的具体用法如下:
shell> mysqlbinlog [options] log-files1 log-files2. .
option有很多选项,常用的选项如下。
-d, --database=name:指定数据库名称,只列出指定的数据库相关操作。
-o, --offset=#:忽略掉日志中的前 n行命令。
-r, --result-file=name:将输出的文本格式日志输出到指定文件。
-s, --short-form:显示简单格式,省略掉一些信息。
--set-charset=char-name:在输出为文本格式时,在文件第一行加上 set names char-name,这个选项在某些情况下装载数据时非常有用。
--start-datetime=name –stop-datetime=name:指定日期间隔内的所有日志。
--start-position=# --stop-position=#:指定位置间隔内的所有日志。

1 不加任何参数的mysqlbinlog

mysqlbinlog lohost.bin.000033

2 参数的mysqlbinlog  -o

mysqlbinlog lohost.bin.000033 -o 3

3 参数的mysqlbinlog  -o -r

mysqlbinlog lohost.bin.000033 -o 3 -r /home/mysql/123.log

3 参数的mysqlbinlog  -o -r -s

mysqlbinlog lohost.bin.000033 -o 3 -s -r /home/mysql/123.log

 mysqlbinlog localhost-bin.000033 --start-datetime= '2007/08/30 05:00:00' --stop-datetime='2007/08/30 05:06:20'

mysqlbinlog localhost-bin.000033 --start-position=4 --stop-position=196

mysqlbinlog --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog -v --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog -vv --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog --base64-output=decode-rows --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog -vv --base64-output=decode-rows --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

4 mysqlbinlog恢复(xtrabackup info就是有位点的)

xtrabackup+mysqlbinlog position位点恢复。

(1)将数据恢复到故障前:
mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456 | mysql -u root –pmypwd
(2)跳过故障时的时间点,继续执行后面的BINLOG,完成恢复。
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456| mysql-u root -pmypwd 

(1)在shell下执行如下命令:
shell>mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00"/var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
该命令将在/tmp目录创建小的文本文件,编辑此文件,找到出错语句前后的位置号,例如前后位置号分别是368312和368315。
(2)恢复了以前的备份文件后,应从命令行输入下面的内容:
shell>mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd
shell>mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd \

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com