记如何远程连接Mysql及出现的问题
本地远程连接云服务器上的mysql
云服务器环境:Mysql8.0+Ubuntu16.04
一、安装mysql
首选本地和云服务器上都要安装好mysql
二、开发云服务器的端口
阿里云服务器默认不开放3306端口,因此需要手动开房3306端口,在安全组中进行选择开放。我使用的是Ubuntu版本,我安装了ufw作为防火墙管理工具,因此我还需要使用sudo ufw allow 3306
使得防火墙允许3306的端口通过。
三、创建本地连接
我本地使用的Navicat for Mysql
,按照如下图方式创建连接。
注:
ip地址:填写你的公网ip地址
用户名:填写数据库的用户
密码:填写该用户登入mysql所需的密码
四、服务器上创建新用户
这里我使用root用户连接时出现“外部连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端”的问题
因为我是用的是Mysql8.0,相对于5.7比较严格,所以我重新创建了一个用户,赋予了所有权限,然后就成功连接。步骤如下
① 进入数据库:mysql -u root -p
password:
② 创建新用户:
create user 'syz' identified with mysql_native_password by 'password';
说明:
该行代码创建了用户名为syz,加密方式为mysql_native_password
,密码为password的用户。
③ 为新用户赋予所有权限
grant all privileges on *.* to 'syz';
说明:
为该用户赋予所有数据库中所有表的所有权限。
④ 刷新数据库
flush privileges;
最后刷新数据库,使得刚才创建用户的语句立马生效。
五、重新建立连接
这样一来就成功建立连接了~
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!