远程连接云服务器的MySQL数据库
目录
1.查询权限
2.更新权限
2.1执行该SQL语句:
2.2刷新权限
3.开放MySQL的端口(此方法仅适用于云服务器)
3.1打开服务器后台管理:
3.2查看防火墙是否开放了MySQL的3306端口:
3.3没有开放的话(一般默认都没有开放3306端口),添加防火墙规则:
4.(自选)ping端口测试是否通常连接
4.1. tcping 非自带命令,首先安装tcping命令
4.2. 将下载的文件放在C:\WINDOWS\system32 目录(其实就是与cmd.exe同级)下
4.3.Ping端口是否通畅
4.3.1打开命令窗口
4.3.2命令:
5.SQLyog远程连接MySQL数据库
6.常见错误
6.1这个是没有开放数据库的端口照成的错误
1.查询权限
启动远程云服务器上的运行此SQL语句以获取Host List并验证该主机是否被Allowed to Connect到MySQL Database
SQL语句:
#使用mysql数据库
USE mysql;
#查询user表中User和host的内容
SELECT user.`User`,user.host FROM `user`;
查询结果:

2.更新权限
为了远程连接到root账户,请确保该用户的主机地址已设置为localhost。(且仅限于本地机器进行登录)。
需要更改root账户对应host的值
2.1执行该SQL语句:
#更新user表中的host为%,更新条件,用户名为user,host为localhost
UPDATE `mysql`.`user` SET `host` = '%' WHERE `User` = 'root' AND `host` = 'localhost';
host对应参数
| localhost | 本机访问 |
|---|---|
| % | 允许所有IP访问 |
| 主机的IP地址 | 允许对应IP的主机访问 |
2.2刷新权限
不刷新权限的话就算改了也无效
执行SQL语句:
flush privileges;
3.开放MySQL的端口(此方法仅适用于云服务器)
执行SQL语句查询MySQL端口号
SHOW VARIABLES LIKE 'port';
结果:

端口号为:3306
我这里采用的云服务器属于腾讯云系列的服务之一,并非唯一的选择;其他类型的云服务器的方法也大体上类似,并且同样的道理
3.1打开服务器后台管理:

3.2查看防火墙是否开放了MySQL的3306端口:

3.3没有开放的话(一般默认都没有开放3306端口),添加防火墙规则:

应用类型根据需要选择,我这里选择的MySQL(3306),

可以选择限制限制来源:

不启用的话,IP限制为:0.0.0.0/0
启用的话,输入允许访问的主机IP即可

点击确定,等待添加完成,查看列表中是否存在:

4.(自选)ping端口测试是否通常连接
4.1. tcping 非自带命令,首先安装tcping命令
可以去官网:http://www.elifulkerson.com/projects/tcping.php下载

4.2. 将下载的文件放在C:\WINDOWS\system32 目录(其实就是与cmd.exe同级)下
位于C:\WINDOWS\system32文件夹中就可以直接运行(其核心原理在于,在与该程序同一目录位置处启动CMD命令即可执行TCPING指令,并且无论是在桌面上还是在系统资源管理器中都能操作)。
4.3.Ping端口是否通畅
4.3.1打开命令窗口
Win+R > cmd
ping端口的命令和ping网络IP的有些不同
4.3.2命令:
IP和端口中间空格隔开
tcping IP 端口号
结果:

连接通畅,就可以使用SQLyog远程连接了
5.SQLyog远程连接MySQL数据库
请设置云服务器的外网IP;然后配置MySQL数据库账号,并输入账号名、密码以及开放的端口号;最后确保能够成功建立连接

这样就连接成功了!

6.常见错误
2003错误,Can't connect to MySQL server on 'IP' (0);
6.1这个是没有开放数据库的端口照成的错误

