检查数据库服务状态
确保MySQL/MariaDB服务已启动,可通过命令 sudo systemctl status mysql
或 sudo systemctl status mariadb
查看,未启动则用 sudo systemctl start mysql
启动。
验证数据库配置
config/database.php
或 .env
文件中的配置(如主机名、端口、用户名、密码、数据库名),确保与实际一致。hostname
为IP地址,且防火墙开放对应端口(默认3306)。确认数据库用户权限
用 mysql -u root -p
登录MySQL,执行 SHOW GRANTS FOR '用户名'@'主机名'
,确保用户有访问权限,必要时用 GRANT
语句赋权。
检查防火墙设置
若为远程连接,用 sudo ufw allow 3306
开放端口。
查看错误日志
sudo tail -f /var/log/mysql/error.log
查看MySQL错误日志,定位具体问题。runtime/log
目录,可获取连接失败的详细信息。验证PHP扩展
确保已安装 pdo_mysql
或 mysqli
扩展,可通过 php -m
查看,未安装则用 sudo apt install php-mysql
安装。
测试连接
在ThinkPHP中使用 Db::query('SELECT 1')
或命令行工具测试连接,捕获异常信息进一步排查。
参考来源: