工具环境
工具:
XShell(远程连接服务器)
Navicat(远程连接MySQL)
环境:
mysql Ver 8.0.21 for Linux on x86_64
打开服务器3306端口
以阿里云为例:
选择手动添加
如下:
设置服务器MySQL可以远程登录
在XShell上登录服务器或在阿里云的控制台登录服务器。
登录MySQL:mysql -u root -p
使用命令设置任何IP地址都可以登录(有风险):
UPDATE mysql.`user` SET `Host`='%' WHERE `User`="root";
用Navicat登录MySQL
新建MySQL连接
连接名:自定义
主机名或IP地址:你的服务器域名或外网IP地址
用户名:数据库root
密码:你自己的设置的数据库密码
连接测试成功后确定就行了。
连接错误的可能原因:
MySQL8.0之前的加密方法是:
mysql_native_password
MySQL8.0后的加密方法是:
caching_sha2_password
Navicat版本过低了之后解析密码的方法不对,有两种方法解决:
1.升级Navicat再进行登录
2.修改Mysql8.0版本之后的加密方法
在服务器上登录MySQL,使用命令:
UPDATE mysql.`user` SET `plugin`='mysql_native_password' WHERE `User`='root';