mysql的binlog日志是二进制的,如果我们直接食用cat或者vim打开是乱码,无法直观的看到mysql的日志中打印的语句,所以必须使用mysqlbinlog命令打开binlog日志,才能查看日志内容,开启日志方法参考:https://www.wulaoer.org/?p=1267
[root@www.wulaoer.org ~]# cd /usr/local/mysql/ [root@www.wulaoer.org mysql]# ./bin/mysqlbinlog /usr/local/mysql/var/mysql-bin.000013 /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 4 #200507 13:33:32 server id 1 end_log_pos 123 CRC32 0xb3e430b4 Start: binlog v 4, server v 5.7.26-log created 200507 13:33:32 at startup ROLLBACK/*!*/; BINLOG ' rJ2zXg8BAAAAdwAAAHsAAAAAAAQANS43LjI2LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAACsnbNeEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA AbQw5LM= '/*!*/; # at 123 #200507 13:33:32 server id 1 end_log_pos 154 CRC32 0xda2fcb02 Previous-GTIDs # [empty] # at 154 #200530 19:58:32 server id 1 end_log_pos 177 CRC32 0x44c7b31e Stop SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/; DELIMITER ; # End of log file /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
打开报错
如果直接使用mysqlbinlog打开日志报错,
[root@www.wulaoer.org mysql]# ./bin/mysqlbinlog /usr/local/mysql/var/mysql-bin.000013 mysqlbinlog: unknown variable 'default-character-set=utf8mb4'
解决方法:
1、在mysql配置文件/etc/my.cnf中将default-character-set=utf8 修改为 character-set-server = utf8,然后重启mysql,这样对以前的产生的mysql日志无法改变,而且代价太大。不推荐
2、在mysqlbinlog后面加参数--no-defaults
[root@www.wulaoer.org mysql]# ./bin/mysqlbinlog --no-defaults /usr/local/mysql/var/mysql-bin.000013
可根据自己需求选择不同的方法。如果把binlog日志在mysql中运行一边哪就需要学习下一个章节了,期待一下吧
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏