昨天准备在自己的电脑上连我服务器的数据库mysql,
1 服务器端的mysql设置了一个可以让所有ip远程访问的账号,权限只给了一个数据库的
2 用phpmyadmin 配置了远程服务器的ip
3 尝试登陆 失败了竟然。。。
最后发现, 是服务器的3306端口的问题, 因为尝试 本机telnet 服务器的3306没开启,去服务器端 看了下mysql配置里3306端口只监听127.0.0.1本机的。
使用nestat命令查看3306端口状态:
~# netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
从结果可以看出3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。
解决方法:修改/etc/mysql/my.cnf文件。打开文件,找到下面内容:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
把上面这一行注释掉或者把127.0.0.1换成合适的IP,建议注释掉。
重新启动后,重新使用netstat检测:
~# netstat -an | grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN