不支持MySQL 8.4.x版本,求支持
Author: SoHuDrgonCreated Mar 20, 2025Updated Jun 23, 2026
重现步骤
MySQL 8.4的版本变化很大,SHOW SLAVE STATUS 已被弃用,改为使用 SHOW REPLICA STATUS 来查询复制状态。SHOW MASTER STATUS;已被弃用,改为使用SHOW BINARY LOG STATUS;
预期外的结果
期望项目支持MySQL 8.4的版本,他也是长期支持版本。
日志文本
# tail -f logs/archery.log
File "/opt/archery/sql/engines/mysql.py", line 526, in query
effect_row = cursor.execute(sql, parameters)
File "/opt/archery/venv4archery/lib64/python3.9/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
File "/opt/archery/venv4archery/lib64/python3.9/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
File "/opt/archery/venv4archery/lib64/python3.9/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
MySQLdb.ProgrammingError: (1064, "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 'slave status' at line 1")版本
1.11.3
部署方式
Docker
是否还有其他可以辅助定位问题的信息?比如数据库版本等
MySQL 8.4.4
Source: hhyo/Archery