远程登录mysql时navicat报错error2003&&127.0.0.1可以访问mysql但是无法使用ip地址访问mysql
原因一
mysql对外权限不够,需要增加外界对mysql的访问权限
解决办法
进入mysql输入下面命令
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges; #进行刷新
#第一句话注释
# "." 代表所有库
# "root" 是用户名
# "%" 代表所有ip可以访问,也可以指定IP地址
# "123456" 是密码
原因二
mysql配置文件中绑定了127.0.0.1地址
解决办法
首先去/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
存在的话直接#注释掉这句话,否则
1.进入/etc/mysql/下发现my.cnf配置文件里面有这几句话
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
2.进入到/etc/mysql/mysql.conf.d目录下
cd /etc/mysql/mysql.conf.d
sudo vim mysqld.cnf#修改
3.注释掉下面这句话
#bind-address:127.0.0.1
4.重启mysql
sudo service mysql restart
当使用Navicat远程连接MySQL遇到Error 2003时,可能是因为MySQL对外权限不足或配置文件绑定了127.0.0.1。解决方法包括:通过SQL命令grant all privileges授予所有IP访问权限并刷新权限;检查my.cnf配置文件,注释或修改bind-address为允许所有IP或特定IP。重启MySQL服务后,远程访问问题即可解决。
1558

被折叠的 条评论
为什么被折叠?



