在CentOS上運行的Java應用程序無法連接到數據庫可能有以下原因:
sudo systemctl status mysqld
如果服務未啟動,請使用以下命令啟動它:
sudo systemctl start mysqld
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
數據庫連接配置:檢查Java應用程序中的數據庫連接字符串、用戶名和密碼是否正確。確保它們與數據庫實例的配置相匹配。
數據庫監聽地址:檢查數據庫是否配置為監聽所有接口或僅限本地接口。如果數據庫僅監聽本地接口,您需要更改配置以允許遠程連接。對于MySQL,您可以編輯/etc/my.cnf
文件并注釋掉或修改bind-address
行:
# bind-address = 127.0.0.1
然后重啟數據庫服務:
sudo systemctl restart mysqld
sestatus
如果需要更改SELinux策略,請咨詢相關文檔或尋求專業幫助。
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
將username
和password
替換為實際的用戶名和密碼。
檢查并嘗試以上建議,希望能幫助您解決Java應用程序在CentOS上無法連接數據庫的問題。如果問題仍然存在,請提供更多詳細信息以便進一步排查。