當在CentOS上使用Java程序連接數據庫失敗時,可以按照以下步驟進行排查和解決:
檢查數據庫服務狀態:
sudo systemctl status mysqld
如果服務未啟動,請使用以下命令啟動它:sudo systemctl start mysqld
檢查防火墻設置:
sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
檢查數據庫連接配置:
jdbc:mysql://<hostname>:<port>/<database_name>?useSSL=false&serverTimezone=UTC
檢查數據庫用戶權限:
GRANT ALL PRIVILEGES ON <database_name>.* TO '<username>'@'<hostname>' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
檢查網絡連接:
檢查Java數據庫驅動:
pom.xml文件中添加以下依賴(以MySQL為例):<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
查看日志文件:
/var/log/mysqld.log。代碼審查:
Connection、Statement和ResultSet后,確保正確關閉它們。使用連接池:
如果以上步驟都無法解決問題,建議查看具體的錯誤信息,并在相關技術社區(如Stack Overflow、GitHub等)尋求幫助。