开启MySQL远程连接

在开启MySQL的远程访问之前,我们首先要在云服务器的控制台-安全组中,打开3306端口。

开启了安全组端口之后,下面说明如何开启远程连接,开启后如何测试是否开启成功。

如何开启远程连接?

有两种方式可以开启MySQL的远程连接,第一种是可视化方式,第二种是命令方式

方案一:使用PHPMyAdmin开启远程连接(推荐)

在phpMyAdmin中开启远程只需要将root账号的访问方式改成“任意方式访问”,具体如下:

  1. 打开账户->找到主机名为127.0.0.1的root用户,点击“修改权限”
  2. 在“登录信息”选项卡中,将“主机名”下拉菜单选项更改为“任意主机”,点击执行
  3. 以上两步就完成了开启远程连接的工作

方案二:使用命令方式开启远程连接

如果您的镜像中没有安装phpMyAdmin,那么就需要通过命令方式开启远程连接。具体如下:

  1. 执行命令,进入数据库
    命令: mysql -u root -p 数据库root密码

  2. 写入SQL语句,开启远程访问
    mysql> use mysql;
    mysql> update user set host = '%' where user = 'root';

    注意: 第二条语句可能会报错误信息, 可以忽略,实际语句已经生效, 可以输入语句 select host,user from user where user='root'; 进行查看host值是否有"%"
    RROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
    说明有多个ROOT用户纪录在USER表中了.

  3. 执行命令,重启数据库
    命令: systemctl restart mysqld;

    注意:在用Navicat Premium/MySQL-Front等工具测试远程连接前,必须重启数据库,否则会报错误信息

  4. 打开服务器控制台上的安全组端口TCP:3306


如何测试远程连接?

本地通过Navicat Premium工具测试远程连接

  1. 打开Navicat Premium,点击顶部菜单栏, 文件->新建连接->MySQL

  2. 自定义连接名,将localhost更改为数据库所在的主机ip地址,密码默认123456

  3. 点击“测试连接”,系统提示:连接成功 ! 即表示成功连接

本地通过MySQL-Front工具测试远程连接

  1. 打开MySQL-Front,点击顶部菜单栏, 文件->连接管理

  2. 自定义连接名,主机为数据库所在的主机ip地址,密码默认123456

  3. 点击“确定”后,在连接管理窗口上点击“打开”,系统无任何提示及警告即表示连接成功

如果以上操作仍然连不上,请确保您服务器自身的防火墙没有阻止3306端口