发布时间: 2023-12-27 文章作者: myluzh 分类名称: MySQL 朗读文章
[root@blog ~]# mysql -u root -p Enter password:2、查看bin_log是否开启
mysql> show variables like 'log_%'; +----------------------------------------+----------------------------------+ | Variable_name | Value | +----------------------------------------+----------------------------------+ | log_bin | ON | | log_bin_basename | /www/server/data/mysql-bin | | log_bin_index | /www/server/data/mysql-bin.index | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF | | log_error | ./blog.err | | log_output | FILE | | log_queries_not_using_indexes | OFF | | log_slave_updates | OFF | | log_slow_admin_statements | OFF | | log_slow_slave_statements | OFF | | log_throttle_queries_not_using_indexes | 0 | | log_warnings | 1 | +----------------------------------------+----------------------------------+3、查看二进制日志文件名
mysql> show master logs; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000008 | 1654277 | | mysql-bin.000009 | 3339375 | +------------------+-----------+ 2 rows in set (0.00 sec)4、使用mysqlbinlog工具,解析日志
# 如果已经安装了MySQL,尝试找到mysqlbinlog工具的确切位置 [root@blog ~]# find / -name mysqlbinlog 2>/dev/null /www/server/mysql/bin/mysqlbinlog # 把mysqlbinlog的父路径加入环境变量 export PATH=$PATH:/www/server/mysql/bin(2)解析日志,基本语法如下:
mysqlbinlog [options] log_file ... # log_file 是您要解析的 binlog 文件的路径。 # [options] 是一些可选参数,如 --start-datetime、--stop-datetime、--start-position 和 --stop-position,它们可以帮助您指定要解析的日志范围。 mysqlbinlog --start-datetime="YYYY-MM-DD hh:mm:ss" --stop-datetime="YYYY-MM-DD hh:mm:ss" /path/to/binlog-file > output.sql(3)我这里binlog位于/www/server/data/,最新的为000009
[root@blog data]# pwd /www/server/data [root@blog data]# ls -alh | grep mysql-bin -rw-rw---- 1 mysql mysql 1.6M 11月 29 14:24 mysql-bin.000008 -rw-rw---- 1 mysql mysql 3.3M 12月 27 20:15 mysql-bin.000009 -rw-rw---- 1 mysql mysql 38 11月 29 14:24 mysql-bin.index(4)尝试恢复:
[root@blog data]# mysqlbinlog --start-datetime="2023-12-27 12:00:00" --stop-datetime="2023-12-27 17:00:00" mysql-bin.000009 > output.sql
[mysqld] server-id=1 log_bin=mysql-bin binlog_format=row expire_logs_days=10 max_binlog_size=100Mserver-id:唯一标识MySQL服务器的ID,用于主从复制等场景。
发表评论