You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian服务器GitLab CI报MySQL 2054认证错误修改插件未解决

GitLab CI MySQL 2054 认证错误解决方案

你遇到的报错如下:

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schema = and table_name = migrations and table_type = 'BASE TABLE')

你已尝试修改'root'@'localhost'账号的认证规则未生效,可按以下步骤排查解决:

操作步骤

  • 修正对应访问账号的认证规则
    你修改的'root'@'localhost'仅匹配本地发起的数据库请求,GitLab Runner通过网络访问MySQL时,匹配的用户Host通常为%(通配所有IP)或Runner的固定内网IP,执行如下SQL修改对应账号配置:
    -- 替换为实际使用的数据库用户名、密码、对应的Host地址
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的数据库密码';
    FLUSH PRIVILEGES;
    
  • 调整Debian环境下MySQL的全局认证配置
    编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,在[mysqld]配置段中添加如下参数,指定全局默认认证插件为mysql_native_password:
    default-authentication-plugin=mysql_native_password
    
    保存后重启MySQL服务使配置生效:
    systemctl restart mysql
    
  • 验证GitLab CI数据库配置合法性
    确认.gitlab-ci.yml或CI环境变量中配置的数据库连接地址、用户名、密码、库名无拼写错误,且对应账号拥有目标库的读写权限,可直接在Runner节点执行命令测试连通性:
    mysql -h <数据库IP地址> -u root -p'你的数据库密码' <mydatabase>
    
  • 适配PHP版本兼容问题(PHP项目适用)
    低于7.4的PHP版本对MySQL 8.0默认的caching_sha2_password认证插件支持存在缺陷,若以上操作均无效可升级PHP版本至7.4及以上。

内容的提问来源于stack exchange,提问作者Sacha Durand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:54:02