旧版本 mysql 命令行客户端导致 mysqlbinlog 出错

该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/post/2017/12/20/failure-with-old-mysqlbinlog/

一次 MySQL 备份事故——不要试图用系统自带 yum 源安装 mysql/php/node/git/nginx 之流!

周一在 AWS 上弄了一台新的服务器,用了官方的 Amazon Linux 2 LTS Candidate AMI 2017.12.0 (HVM), SSD Volume Type 镜像。然后上去直接用 yum 安装了 mysql 命令行客户端。

1yum install mysql -y

完全没注意它用的是 mariadb 5.6.x 的版本……而我们的数据库用的是 AWS RDS MySQL 5.7.14。

结果今天上去一看,AWS S3 上的 binlog 备份全都只有一两 KB……

吓得赶紧排查,原来是 mysqlbinlog 版本太旧了,才发现这特么用的是 mariadb 5.6 的包。

MySQL 官网 下载 yum 源的 rpm 包

1wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
2rpm -ivh mysql57-community-release-el7-11.noarch.rpm
3yum update
4yum install mysql

终于搞定。

参考:

https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html

comments powered by Disqus