阿里云服务器上的mysql服务在客户端为啥只能通过ssh证书连接后才能使用?

新手上路,请多包涵

我使用阿里云服务器部署了一个mysql数据库,使用Navicat连接数据库时只有通过SSH才能连接上,不能直接连接,请问下这种情况需要怎么解决?

阅读 2.7k
2 个回答
使用Navicat连接数据库时只有通过SSH才能连接上

这是因为navicat先用ssh连接了远程服务器后,navicat再用这个连接去连接的mysql服务器,相当于是你在远程主机上本机连接的mysql,所以可以连接。

默认不允许非本机连接mysql的目的是为了安全。

如果你就是想远程连接,可以检查一下你mysql的databasemysql,其中的user表内对应账号的host是否为%,%表示允许全部主机连接,如图
image.png

推荐可以看看这篇文章进行检查设置:https://www.cnblogs.com/linjiqin/p/5270938.html

如果还是不行,可以检查一下阿里云服务器安全组是否允许了3306端口的外网连接。

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

1、端口:安全组开启相应端口(另外建议修改下默认3306,改成63329?类似这种比较大的端口号)
2、账号:如 root@# 一定要强密码 如 0cVzvj^P7#2uiRRya7JY1Xf2O$5Q5cpS这种?
3、地址:以上操作正常的话,用外网IP+端口即可正常连接


本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题