解决连接时报错 Can't connect to Mysql on 'xx.xxx.xxx.xx'(10061)
目前网上有许多类似问题的解决方法,不过零零散散不成系统,故总结一下,方便后来人,亲测可用,这个折磨了我一下午的问题终于解决了。
1.在服务器上安装MySQL之后,确认安装成功。运行下面的代码查看mysql版本,确认安装成功。
mysqladmin --version
2.启动mysql,并登陆一次
[root@host]# mysql -u root -p
Enter password:*******
3. 然后输入exit 退出MySQL,并输入 netstat -an|grep 3306 查看3306端口使用情况
mysql> exit
Bye
root@YesOrNo2018:~# netstat -an|grep 3306
tcp6 0 127.0.0.1 :::3306 :::* LISTEN
4.这时可以看到显示为127.0.0.1,我们这时打开mysql配置文件,设置允许远程访问数据库
vim /etc/mysql/mysql.conf.d/mysqld.cnf
下翻找到bind-address项,并注释掉,取消MySQL的IP限制。
5.此时我们再输入 netstat -an|grep 3306 查看3306端口使用情况,可以看到下图黄色区域,IP地址已经由127改为0
6.我们再次进入MySQL ,这次去配置账号的访问权限。
[root@host]# mysql -u root -p
Enter password:*******
7.将root用户授权给所有连接,其中'xxxxxx'是root账户的密码
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
然后运行 flush privileges; 让权限立即生效。
8.最后推出并运行 service mysql restart 来重启MySQL,然后就可以使用navicat远程连接MySQL啦。
总结: 主要是MySQL限制了远程连接,所以把它默认绑定的IP给注释掉就可以了。