1.判断MySQL是否已经开启binlog
sqlSHOW VARIABLES LIKE 'log_bin';
查看MySQL的binlog模式
sqlshow global variables like "binlog%";
几个关于binlog常用的命令
sql#查看日志开启状态 show variables like 'log_%'; #查看所有binlog日志列表 show master logs; #查看最新一个binlog日志的编号名称,及其最后一个操作事件结束点 show master status; #刷新log日志,立刻产生一个新编号的binlog日志文件,跟重启一个效果 flush logs; #清空所有binlog日志 reset master;
2.开启MySQL的binlog日志
binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。
在my.ini主配置文件中直接添加三行
sql#打开binlog日志 log_bin=ON #binlog日志的基本文件名,后面会追加标识来表示每一个文件 log_bin_basename=/var/lib/mysql/mysql-bin #指定的是binlog文件的索引文件,这个文件管理了所有的binlog文件的目录 log_bin_index=/var/lib/mysql/mysql-bin.index
低版本的mysql可以直接添加这句
sqllog_bin=ON log-bin=C:\Program Files (x86)/MySQL/MySQL Server 5.0/log/mysql-bin.log
这些配置完毕之后对于5.7以下版本应该是可以了,但是我们这个时候用的如果是5.7及以上版本的话,重启mysql服务会报错。这个时候我们必须还要指定一个参数
sqlserver-id=123456
随机指定一个不能和其他集群中机器重名的字符串,如果只有一台机器,那就可以随便指定了
有了上述的配置之后,我们就可以重新启动我们的mysql了
sqlservice mysqld restart
启动成功之后,我们可以登陆查看我们的配置是否起作用
sqlshow variables like '%log_%'
3.mysql查看binlog
查看总共有几个
binlog
文件
sqlshow master logs;
sqlshow binlog events in 'mysql-bin.000001' limit 10