問題: 原來運行ok的Java程序,架構為client>soap>server>mysql. 重裝了debian和tomcat,mysql之后,運行該java程序,server 竟然拋出sql state null異常.
解決步驟: ssh登陸服務器 restart mysql bs~#:cd /etc/init.d bs~#:./mysql restart 看mysql是否登錄正常 bs~#:mysql uroot pxxx 發現正常進入mysql 檢查sock bs~#:mysqladmin variables 查看用到的sock文件,發現為/var/run/mysqld/mysqld.sock bs~#:mysqladmin sock=xxx version 發現正常 看mysql tcp ip訪問是否正常,因為java都是通過tcpip訪問mysql的 bs~#:mysql h myip uroot p 不管是127.0.0.1還是實際ip 都得到 can't connect to mysql server on xxx 檢查server現在監聽的端口號: bs~#:netstat angrep LISTEN 發現并沒有監聽3306端口 檢查my.cnf文件 bs~#:vi /etc/mysql/my.cnf 發現bindaddress 和port的設置都是正確的. 沒辦法,Google查找原因 找到了,原來在debian里,出于安全原因,mysql默認都是skipnetwork bs~#:vi /etc/mysql/my.cnf 果然發現了skipnetwork這行,怪自己怎么開始不認真看看my.cnf文件, 注銷掉這行 restart mysql It is ok now.if you run into this PRoblem,just try my solution. 但是仍然希奇,就是在我上一次安裝的時候,怎么沒有這個問題.可能和debian的安全策略有關吧.