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

CentOS 7下MySQL多实例socket连接失败:指定socket连第二实例遇权限拒绝

解决CentOS 7中第二个MySQL实例socket登录权限拒绝的问题

我来帮你排查这个困扰你的问题——明明密码正确,主实例能正常登录,但第二个实例用socket连接就报ERROR 1045 (28000): Access denied for user 'root'@'localhost'。这种情况大概率不是密码本身的问题,而是第二个实例的用户权限配置、实例设置或者socket权限有差异,给你几个具体的排查和解决方向:

1. 检查并修复第二个实例的root用户权限

第二个MySQL实例有独立的用户权限表(除非你错误地让它和主实例共用了datadir),所以主实例的root权限和第二个实例是完全分开的。你可以按以下步骤操作:

  • 先停止第二个实例(假设你的第二个实例服务名为mysqld1):
    systemctl stop mysqld1
    
  • 启动第二个实例时跳过权限验证,这样就能无密码登录:
    mysqld_safe --defaults-file=/etc/my.cnf.d/mysqld1.cnf --skip-grant-tables &
    

    注意:替换/etc/my.cnf.d/mysqld1.cnf为你第二个实例的实际配置文件路径

  • 通过socket无密码登录第二个实例:
    mysql --socket=/var/run/mysqld/mysqld1.sock
    
  • 查看当前root用户的权限记录:
    SELECT user, host, authentication_string FROM mysql.user;
    
    重点看有没有root@localhost的条目:
    • 如果没有这个条目,创建并授权:
      CREATE USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
      
    • 如果已经有root@localhost,但密码加密方式是caching_sha2_password(可能导致旧版本客户端兼容性问题),更新密码为mysql_native_password格式:
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
      
  • 刷新权限并重启实例:
    FLUSH PRIVILEGES;
    
    systemctl restart mysqld1
    
    之后再尝试用原命令登录。

2. 检查第二个实例的配置文件

打开第二个实例的配置文件(比如/etc/my.cnf.d/mysqld1.cnf),检查以下关键设置:

  • skip-name-resolve: 如果这个参数被开启,localhost会被强制解析为127.0.0.1,此时root@localhost和root@127.0.0.1是两个独立的用户,密码不通用。解决方法:要么注释掉skip-name-resolve并重启实例,要么给root@127.0.0.1设置相同的密码。
  • datadir: 确认这个路径是第二个实例独立的数据目录,没有和主实例共用(如果共用会导致权限混乱,正常情况下多实例应该用不同的datadir)。

3. 检查socket文件的权限

socket文件的权限不正确也会导致登录失败,执行以下命令查看:

ls -l /var/run/mysqld/mysqld1.sock

正常情况下,该文件的所属用户和组应该是mysql:mysql,权限为srwxrwxrwx。如果权限不对,修改后重启实例:

chown mysql:mysql /var/run/mysqld/mysqld1.sock
systemctl restart mysqld1

内容的提问来源于stack exchange,提问作者Evgeniya Tveritinova

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:20:18