1. 3306端口是不是没有打开?
使用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的访问。
1. 更改/etc/mysql/my.cnf文件,找到bind-address = 127.0.0.1,将其注释,或者改为允许访问的ip。
2. sudo service mysql restart 重启mysql
3. netstat -an | grep 3306,查看端口状态,如果显示 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN,表示修改生效。
4. 执行mysql授权语句:
代码如下 | 复制代码 |
1 GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; |
*.*表示授权所有数据库,%为授权的访问ip(%表示所有IP可访问)。其中database_name、user_name和user_password根据实际情况设置。
5. 远程连接测试,成功。