在一個以mysql數據庫為後台的標准的servlet/tomcat網絡應用中,在待機一天後再次使用時出現了問題,第一次登錄總是失敗。通過察看日志發現如下錯誤:“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure”。
上述問題是由mysql5數據庫配置引起的。mysql5將其連接的等待時間(wait_timeout)缺省為8小時。
- mysql show global variables like 'wait_timeout';
- +---------------+---------+
- | Variable_name | Value |
- +---------------+---------+
- | wait_timeout | 28800 |
- +---------------+---------+
- 1 row in set (0.00 sec)
解決方法:
a. 在my.cnf 或 my.ini 文件中增加或修改'wait_timeout'
[mysqld]
wait_timeout=1814400
b.重新啟動mysql5
mysql字符集問題:
a.進入mysql, 查詢字符集
shell> show variables like ''character%''
b.修改數據庫默認字符集為: utf8
在my.conf( linux path= /etc ) 或 my. ini( windowns ) 找到 [mysqld] 或 [mysql], 修改或增加以下行:
default_character_set=utf8。
c.重啟mysql服務,修改成功。
關於MySQL數據庫配置導致登錄失敗錯誤的解決及字符集的修改的知識就介紹到這裡了,希望本次的介紹能夠對您有所幫助。