debian下mysql实践
作者: 文章来源:
发布日期:2007年03月19日
昨几天重装了debian..发现mysql有问题.
几经周折,发现问题所在.
本来该写在blog里,只是matrix的blog还在测试当中.
所以,发在文章栏目与大家共享.
问题:
原来运行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 -an|grep LISTEN
发现并没有监听3306端口
-检查my.cnf文件
bs~#:vi /etc/mysql/my.cnf
发现bind-address 和port的设置都是正确的.
-没办法,google查找原因
找到了,原来在debian里,出于安全原因,mysql默认都是skip-network
bs~#:vi /etc/mysql/my.cnf
果然发现了skip-network这行,怪自己怎么开始不认真看看my.cnf文件,
注销掉这行 restart mysql
It is ok now.if you run into this problem,just try my solution.
但是仍然奇怪,就是在我上一次安装的时候,怎么没有这个问题.可能和debian的安全策略有关吧.