0四、navicat没法链接阿里云mysql

阿里云服务器上布了一个mysql,而后本地想要经过navicat链接,一直链接不上。html

后来索性本地telent阿里云服务器的3306端口,发现连不通,因而想到3306端口并无对外开放。一开始觉得是linux服务器的防火墙,不过查看了服务器的防火墙等等也都没有开。mysql

后来才知道,阿里云的服务器默认端口是不对外开放的,若是想要供外部访问,须要在安全组中手动添加规则。。。。这是个大坑啊linux

首先建立安全组,而后再安全组中添加规则,以下所示,详情能够参考官方文档 
https://helpcdn.aliyun.com/document_detail/25471.html?spm=5176.doc25468.2.4.RfJyPUsql

这里写图片描述

添加规则以后,再用navicat连,报另外一条错误数据库

1045 access denied for user'root'@'localhost' using password yes
  • 1

猜测是由于我本地使用root用户登陆navicat,而root用户并无开放外部的访问权限,而是只能localhost访问安全

下一步登录mysql数据库,使用命令服务器

这里写图片描述

果真root用户的访问权限是localhost,并不能从外部进行访问,须要手动赋权测试

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
  • 1

实测,我本身的到这力就行了,下文未测试。---seasonQui

好了,这下又报错阿里云

Your password does not satisfy the current policy requirements
  • 1

也就是密码强度不符合,我也是醉了,使用下面的命令能够查看设置的密码强度校验规则

SHOW VARIABLES LIKE 'validate_password%';
  • 1

这里写图片描述

果真是有很麻烦的校验,网上有不少去除这个校验的方法,不过都须要修改配置文件而后重启数据库,我的以为有点麻烦,还有一种临时办法能够去除密码强度校验(不过下次登陆又得用一遍,好处是不须要重启)

set global validate_password_policy=0;
  • 1

好了,再输入上面的对root用户赋权的命令,大功告成

这里写图片描述

OK,到这里,服务器的3306端口也对外开放了,root用户也能够从外部进行访问了,navicat链接成功

 

原文出处: 
http://blog.csdn.net/antony9118/article/details/77835715

相关文章
相关标签/搜索