#2929·Archery

不支持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的版本,他也是长期支持版本。

日志文本

bash
# 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