在搭建 MySQL 复制时间我遇到了一个棘手的问题:执行。 SHOW MASTER STATUS。
报告错误。经过调查,发现问题的根源是 MySQL 版本选择问题。以下是我的问题定位和解决过程,希望对遇到类似问题的朋友有所帮助。
配置 MySQL 复制时间二进制日志(按照常规步骤启用;log-bin。
)并设置了服务器 ID(server-id。
)。随后,尝试执行以下命令,查看主库状态:
SHOW MASTER STATUS;
然而,我意外地遇到了以下错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'master status' at line 1。
通过。 SELECT VERSION();
我发现当前 MySQL 版本是。 8.4.3.。起初。c;我认为这是配置问题,经过深入研究,发现问题根本在于。 MySQL 8.4.3 不稳定版。,可能不完全支持主从复制的功能或 bug。
以下是我的退货。 MySQL 版本的具体操作步骤:
首先,删除已安装的内容 MySQL 8.4 相关组件版本a;
sudo yum remove mysql-community-server。
然后清理剩余的包:
rpm -qa | grep mysql | xargs sudo yum remove -y。
并删除以前的mysql数据目录 rm -rf /var/lib/mysql/(这取决于你自己的数据目录)。
2. 安装 MySQL 8.0 社区版。
sudo rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-6.noarch.rpm。
确认 8.0 已启用:
sudo yum repolist all | grep mysql。
#xff1输出显示a;
mysql80-community/x86_64 MySQL 8.0 Community Server 启用。
安装 MySQL 8.0:
sudo yum install mysql-community-server。
如果是全新的安装,需要初始数据目录:
sudo mysqld --initialize --user=mysql。
记住日志中生成的临时密码,用于首次登录。
启动 MySQL 服务:
sudo systemctl start mysqldsudo systemctl enable mysqld。
再次检查版本是否成功返回:
SELECT VERSION();
输出显示为 8.0 即可。