写在前面:你们好!我是
ACfun
,个人昵称来自两个单词Accepted
和fun
。这篇博客记录一下如何在本地电脑链接阿里云服务器上搭建的MySQL数据库。若是博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢你们的不吝赐教。个人惟一博客更新地址是:https://ac-fun.blog.csdn.net/。很是感谢你们的支持。mysql
前言
在上一篇博客:在CentOS 7 下安装mysql5.7 咱们在阿里云服务器上安装好了MySQL 5.7。那么怎样能够使咱们在本地的 navicat for MySQL
工具上链接并进行数据库操做呢?本篇博客记录一下本身在链接过程当中遇到的坑。感谢@爱作梦的鱼与@Weleness两位大佬的指导。sql
查看数据库是否启动
首先要看一下数据库是否成功启动,若是没有启动确定是不能链接的。使用如下命令查看咱们云服务器端的数据库是否成功启动:数据库
service mysqld status
若是成功启动说明咱们的数据库是启动的,能够进行下一步。
安全
对外开放3306端口
这个时候若是咱们直接在本地 Navicat for MySQL 中直接链接时不能链接的,若是直接链接会报以下错误:
由于阿里云的服务器默认端口是不对外开放的,若是想要供外部访问,须要在安全组中手动添加规则
。因此咱们须要手动在安全组中添加规则,具体操做步骤以下:
1.登陆阿里云服务器并进入控制台,点击【云服务器ECS】
。
2.在【云服务器ECS】
点击【实例】
并跳转到实例列表。在实例列表找到要开放端口的云服务器实例。并点击后面的【更多】
–>【网络和安全组】
–>【安全组配置】
。
3.在【本实例安全组】
内点击【配置规则】
打开【安全组规则】
。这里有出/入的方向,选择入方向
。而后点击【手动添加】
将3306端口开放便可。
注意:这里的优先级可选范围为1-100,默认值为1,即最高优先级。描述能够随便写,写不写均可以。
服务器
设置数据库用户访问权限
将云服务器的3306端口开放以后仍是不能够在本地进行链接,由于用户的访问权限默认是localhost
,并不能从外部进行访问,须要手动赋权。
咱们能够使用以下命令查看数据库中各个用户的访问权限:
网络
select user,host from mysql.user;
使用以下命令将所须要开放的用户的访问权限改成任意:
工具
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '*********' WITH GRANT OPTION;
注意:这里的密码须要最短为8位,并且最好同时有大写字母、小写字母、数字、特殊符号
不然可能通不过密码强度校验而报错。也能够使用set global validate_password_policy=0;
命令临时去掉密码强度校验。
而后再查看一下用户的访问权限变为%说明赋权成功:
阿里云
本地链接服务器数据库
完成上面三个步骤而后就能够正常在本地电脑上链接云服务器上的数据库了。而后就能够在Navicat for MySQL中操做云服务器上的数据库啦。
spa
参考资料:.net