Skip to content

问题现象

在系统安装引导界面或系统初始化过程中,输入数据库主机、用户名、密码和数据库名后,点击“下一步”或提交时提示: 数据库连接失败SQLSTATE[HY000] [2002] Connection refusedAccess denied for user 'xxx'@'localhost'


根本原因与排查步骤

检查 MySQL 服务运行状态

确保服务器上的 MySQL 服务已正常启动:

bash
systemctl status mysqld
/etc/init.d/mysqld status

若未启动,请先在宝塔面板【软件商店】或终端中启动 MySQL 服务。

核对数据库凭证信息

在宝塔面板【数据库】菜单中,确认以下信息完全正确:

  • 数据库名:必须已创建对应的数据库(建议字符集选择 utf8mb4,排序规则选择 utf8mb4_general_ci)。
  • 用户名:对应的数据库访问用户名。
  • 密码:数据库用户的密码(注意区分大小写,避免复制时带入空格)。
  • 访问权限:本地部署时权限应为 本地服务器(127.0.0.1)所有人(%)

主机地址(Host)与端口设置

  • 本地数据库:数据库主机推荐填写 127.0.0.1(填写 localhost 有时会尝试使用 Unix Socket 连接,若 socket 文件路径不一致会导致连接失败)。
  • 端口号:默认端口为 3306,若修改过 MySQL 端口请填写实际端口。
  • 远程/云数据库(如阿里云 RDS/腾讯云 CDB):需填写云数据库的内网或外网连接地址,并确保在云数据库白名单中放行了当前服务器的 IP。

命令行连通性测试

在服务器终端中直接使用 mysql 命令行客户端进行连接测试:

bash
mysql -h 127.0.0.1 -P 3306 -u 数据库用户名 -p

输入密码后若能成功进入 mysql> 交互界面,说明数据库凭证与服务正常。

MySQL 8.0 密码插件兼容性(如适用)

MySQL 8.0 默认使用 caching_sha2_password 认证插件。若 PHP 的 PDO 驱动连接异常,可登录 MySQL 将用户认证插件修改为兼容模式:

sql
ALTER USER '你的用户名'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

承信租多门店租赁商城系统官方文档