檢查數據庫服務狀態
確保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') 或命令行工具測試連接,捕獲異常信息進一步排查。
參考來源: