运行环境及工具

  • Navicat
  • Mysql 8.0.24(远程服务器内安装的)
  • ubuntu_server(vmware fusion虚拟机)
  • iterm2(连接操作远程服务器)

一、修改mysql的远程授权登录设置

1. 登录远程服务器的数据库(使用iterm2)

1
mysql -uroot -p    ## 以root登录数据库 

2. 查看mysql服务当前的默认端口

1
2
use mysql;    ## 选择mysql数据库
select user,host from user; ## 查看用户访问端口

说明:root用户默认的是localhost,说明只允许从本地登录mysql服务。而我们要从远程以root用户连接数据库,就必须修改host的值,改为‘%’:允许任何ip访问。

3. 修改host允许任何ip访问

继续在mysql命令面板输入以下指令:

1
update user set host = '%' where user = 'root';

看到以上信息说明修改成功!

这时再使用之前的命令:

1
select user,host from user;    ## 查看用户访问端口

会看到:root用户的host已经修改为’%’

注意修改完成后 还需要刷新一下服务配置,不然修改不会生效,并且第4步会执行失败。

1
FLUSH PRIVILEGES;    ## 刷新服务配置项

显示Query OK,表示刷新完成。现在就可以配置我们想要远程登录的用户权限了。

4. 授权root用户进行远程登录

1
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '数据库密码'; 

输入完之后,看到Query OK,说明执行成功!

说明:此命令可以授权任何在mysql数据库user表中的用户以远程登录的方式访问数据库,本例中以’root’作为举例,若想授权其他用户,只需修改’root’的值为指定用户即可,’root_pwd’为’root’用户对应的登录密码,可以修改为你想要授权用户的登录密码。

5. 启动本地Navicat连接

打开Navicat客户端,新建mysql连接