旧版本 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 命令行客户端。
完全没注意它用的是 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
bash
终于搞定。
参考:
https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html