-
检查数据库服务状态
确保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错误日志,定位具体问题。 - ThinkPHP日志位于
runtime/log目录,可获取连接失败的详细信息。
- 通过
-
验证PHP扩展
确保已安装pdo_mysql或mysqli扩展,可通过php -m查看,未安装则用sudo apt install php-mysql安装。 -
测试连接
在ThinkPHP中使用Db::query('SELECT 1')或命令行工具测试连接,捕获异常信息进一步排查。
参考来源:
以上就是关于“ubuntu下thinkphp数据库连接失败怎么办”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm