昨天想着闲来无事,想着将数据库移植到debian上,于是三下五除二就将mysql安装到了debian上,安装完成后,就想着通过navicat测试下是否可以正常连接,不幸发生了,navicat连接位于debian上的mysql提示错误:2003-can't connet to MySQL server on “124.130.89.98”(10061),于是又是百度,又是谷歌的,折腾了好一阵,解决步骤如下:
步骤一:关闭Linux的防火墙功能,或者设置容许TCP协议的3306端口通过,可以下使用如下命令开启TCP协议的3306端口 iptables -I INPUT -p tcp --dport 3306 -j ACCEPT【未解决】;
步骤二:关闭Linux的防火墙功能。
#chkconfig iptables off 【未成功,提示service不存在,如果提示chkconfig command not found,自己安装下。】
#reboot
步骤三:使用root用户登陆Linux,更改容许登陆的IP地址范围。
mysql>grant all privileges on *.* to 'root'@'%' identified by 'rootpasswd' with grant option;
这段指令容许所有用root用户输入密码登陆该mysql server,如果将'%' 换乘'124.130.89.98' ,那么只有'124.130.89.98'的主机可以登陆。 【仍然未解决】
步骤四:这是要疯掉的节奏了,突然想起windows下不是设置my.ini吗,怎么如此晕,于是搜索my.ini,没有找到,原来linux下mysql的配置文件后缀不同,文件名文my.cnf,默认安装的mysql该文件位于/etc/mysql目录下,修改bind-address = 127.0.0.1为bind-address = 0.0.0.0,如此操作,navicat终于能连接上mysql了,当然其他的配置就不说了。