MySQL8设置远程连接教程

简介

MySQL是关系型数据库管理系统,被广泛用于各种应用程序的数据存储和管理。默认情况下,MySQL不允许远程连接,只允许本地连接。然而,在某些场景下,我们需要从远程服务器或者客户端访问MySQL数据库。本教程将教你如何设置MySQL8以允许远程连接。

整体流程

下面是设置MySQL8远程连接的整体步骤:

步骤 描述
1 确认MySQL服务是否运行
2 修改MySQL配置文件
3 重启MySQL服务
4 创建用户并赋予远程访问权限
5 刷新权限表
6 测试远程连接

下面将详细介绍每一步需要做什么,以及相应的代码。

步骤一:确认MySQL服务是否运行

在进行任何设置之前,我们需要确认MySQL服务是否已经运行。可以通过以下命令来检查MySQL服务的状态:

systemctl status mysql

如果MySQL服务已经运行,你将看到类似如下的输出:

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-01-01 00:00:00 UTC; 10s ago
 Main PID: 12345 (mysqld)
    Tasks: 37 (limit: 4703)
   Memory: 137.1M
   CGroup: /system.slice/mysql.service
           └─12345 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

如果MySQL服务没有运行,你可以使用以下命令来启动它:

systemctl start mysql

步骤二:修改MySQL配置文件

接下来,我们需要修改MySQL配置文件以允许远程连接。MySQL的配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf,你可以使用任何文本编辑器打开它。

找到并编辑以下行,将其注释掉:

# bind-address = 127.0.0.1

这行代码的作用是绑定MySQL服务器的IP地址,如果这行代码被注释掉,MySQL将监听所有可用的IP地址。

保存并关闭配置文件。

步骤三:重启MySQL服务

修改完配置文件后,我们需要重启MySQL服务以使更改生效。可以使用以下命令来重启MySQL服务:

systemctl restart mysql

步骤四:创建用户并赋予远程访问权限

现在我们需要创建一个新用户,并赋予该用户远程访问MySQL的权限。可以使用以下SQL语句来创建用户:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

这里的usernamepassword分别是你要创建的用户名和密码,%表示允许从任何主机远程连接。

为了赋予该用户远程访问MySQL的权限,可以使用以下SQL语句:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';

这里的username是你之前创建的用户名,%表示允许从任何主机远程连接。

步骤五:刷新权限表

在完成步骤四后,我们需要刷新MySQL的权限表以使更改生效。可以使用以下SQL语句来刷新权限表:

FLUSH PRIVILEGES;

步骤六:测试远程连接

最后一步是测试远程连接是否成功。可以使用MySQL客户端工具连接到MySQL服务器,并使用之前创建的用户名和密码进行身份验证。

如果你使用的是命令行的MySQL客户端,可以使用以下命令来连接到MySQL服务器:

mysql -u username -p -h hostname

这里的username是你之前创建的用户名,hostname是MySQL服务器的IP地址或主机名。

如果连接成功,你将看到以下提示符:

mysql>

恭喜!你已经成功设置MySQL8以