sql yog远程连接服务器mysql数据库报错2003原因可能会有以下几点:
原因一:远程连接用户host设置不合适
远程连接的数据库用户host为localhost,因为localhost只能被本机用户访问,所以当进行远程访问时无法连接到数据库,解决办法时把远程连接的数据库用户的host改为'%'(%表示任何ip地址的主机都可以访问)修改代码如下
登陆到root用户:
mysql -u root -p
# 输入密码
查看用户和用户的host:
# 查看用户和用户的host
select user,host from mysql.user;
修改用户的host为'%'
update mysql.user set host='%' where user='mysqltest';
# 查看是否修改成功
select user,host from mysql.user;
一般修改之后就可以进行远程登陆了
原因二:服务器防火墙没有关闭
服务器防火墙没有关闭,导致远程无法连接成功,以Ubuntu为例查看防火墙以及关闭防火墙的办法如下:
sudo ufw status查看当前防火墙状态:
#查看当前防火墙状态
sudo ufw status
这种情况为防火墙处于开启状态
sudo ufw disable关闭防火墙:
#关闭防火墙
sudo ufw disable
出现这样的提示就是关闭成功了
sudo ufw enable开启防火墙:
# 开启防火墙
sudo ufw enable
出现这样的提示就是防火墙开启了
或者可以在防火墙里添加数据库的端口白名单,代码如下:
# 指定开放mysql服务器端口3306的tcp协议
sudo ufw allow 3306/tcp
#重启防火墙,使配置生效
sudo ufw reload