如果通过数据库客户端Navicat等 远程连接 MySQL,出现了 2003 错误,说明服务器上的数据库没有配置远程连接。
因为MySQL默认是只允许本地连接的。
远程连接MYSQL必须完成下面的配置。
1. 授权远程用户登录
# 在服务器上进入MySQL控制台
$ mysql -u root -p
# 授权远程用户登录 %表示任意地址,也可以指定IP
> grant all privileges on *.* to root@'%' identified by 'your_root_password';
# 重载授权表
> flush privileges;
> exit;
2. 配置(取消)访问IP地址限制
在 /etc/mysql/mysql.conf.d/mysqld.cnf 里,在 bind-address= 127.0.0.1 这一句前加 # 将它注释掉,然后重启MySQL即可。
bind-address= 127.0.0.1
=>
# bind-address= 127.0.0.1
配置文件也可能在/etc/mysql/mysql.cnf。根据MySQL的版本不同有些差异。
注意需要重启MySQL。
service mysql restart
3. 解除服务器端口访问限制
如果是云服务器,可能安全组里面没有对外开放3306端口。
还有可能Linux系统级的访问端口、访问IP限制。需要解除对3306端口的限制。