今天在github上拉了个项目下来,运行时发现总是无法连接数据库,google后发现是由于该项目使用的mysql5,而我本地mysql是mysql8,刚好想到前不久买了个轻量级云服务器,上面的mysql刚好是5版本的,便想着用WorkBench远程连接它,于是便有了如下经历:
1.修改3306端口,使其不唯一由本地Ip地址绑定,可以由我的本地电脑访问,无法连接
2.增加mysql数据库root远程访问权限,即修改mysql数据库下user表中root的host数据为%,依旧无法连接
3.在云服务器的远程终端开放防火墙3306端口,并重启防火墙,还是无法连接,
4.在腾讯云服务器管理的防火墙设置中添加
规则后,仍旧无法连接
5.重启云服务器后,连接成功!!
总结,远程连接数据库失败可能有如下几个原因:
- 用户无远程访问权限
- 3306端口由localhost唯一绑定
- 密码或ip地址输入错误
- 防火墙未放通MySQL服务(3306)
最后,在执行完某些操作后可能需进行刷新才能生效。