如何创建具有远程访问权限的 MySQL 8 数据库用户

最近,我的任务是为客户端添加 MySQL 数据库 GUI,并遇到数据库服务器未正确配置为接受远程连接的问题。这可能有点棘手,但并非不可能。

我将引导您完成配置 MySQL 8 的过程,以便以有权访问所有数据库的用户身份远程连接到它。了解这是一个重大的安全风险,因此您需要绝对确定不仅您的 LAN 安全,而且您为 MySQL 用户使用了非常强的密码 — 无论如何您都应该这样做。

话虽如此,让我们启动并运行此配置。

你需要什么

要建立此连接,您需要一个正在运行的 MySQL 实例以及一台用于测试连接的 Linux 计算机或任意数量的允许远程连接设置的 MySQL 客户端。您还需要 MySQL 服务器上有一个具有 sudo 权限的用户。

请参阅:这是有关如何进行的复习。

就是这样。让我们施展一些数据库魔法吧。

我们要做的第一件事是配置 MySQL 进行远程连接。为此:

  1. 登录到 MySQL 数据库服务器,然后使用以下命令打开配置文件:
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  2. 在该文件中,查找以下行:
    bind-address = 127.0.0.1
  3. 将该行更改为:
    bind-address = 0.0.0.0
  4. 保存并关闭文件。
  5. 使用以下命令重新启动 MySQL 服务:
    sudo systemctl restart mysql

此时,MySQL 已开放远程连接,但您尚未创建用于访问的用户。

2.创建用于远程访问的用户

接下来,创建一个新的 MySQL 用户。我们将此用户称为 dbadmin。该用户不能称为“root”,因为根据 MySQL 服务器的配置方式,可能无法添加名为“root”的具有远程访问权限的帐户。

创建新的 MySQL 用户:

  1. 首先,使用以下命令从托管 MySQL 的服务器访问 MySQL 控制台:
    sudo mysql -u root -p
  2. 进入 MySQL 控制台后,使用以下命令创建新用户:
    create user 'dbadmin'@'%' identified by 'PASSWORD';
    其中 PASSWORD 是一个强大且唯一的密码。
  3. 授予用户创建新用户的权限以及重新加载全局权限的能力:
    grant create user, reload on *.* to 'dbadmin'@'%';
  4. 向新用户授予所有进一步的权限,以及向其他用户授予新权限的权利:
    grant all on *.* to 'dbadmin'@'%' with grant option;
  5. 授予数据库创建和选择权限:
    grant create, select on *.* to 'dbadmin'@'%';
  6. 使用以下命令刷新权限并退出控制台:
    FLUSH PRIVILEGES;
    exit

命令序列应类似于如下所示(图A)。

图 A:设置新的 MySQL 用户时,您可以授予或拒绝某些权限。图片来源:Phil Hajjar/TechRepublic

3. 测试连接

如果您可以访问另一台安装了 MySQL 的 Linux 计算机,则可以通过在第二台计算机上运行以下命令来测试连接:

mysql -u dbadmin -h SERVER -p

其中 SERVER 是 MySQL 托管服务器的 IP 地址或域。

当提示输入密码时,输入您为新 dbadmin 用户创建的强密码。如果您在第二台 Linux 机器上进行测试,您应该会看到类似的内容图B

图 B:测试另一台计算机的连接,以确保远程访问已正确设置。图片来源:Phil Hajjar/TechRepublic

您应该被授予访问 MySQL 控制台的权限,您可以在其中管理系统上的任何数据库。

4.使用GUI工具访问数据库服务器

一旦系统测试正常,您就可以使用图形用户界面工具(例如 Beekeeper Studio 或。

使用 Beekeeper studio 创建一个新连接,选择 MySQL 作为连接类型并填写以下详细信息(图C):

  • 主持人:MySQL 服务器的 IP 地址或域。
  • 港口:3306.
  • 用户:数据库管理员。
  • 密码:您为新创建的 dbadmin 用户设置的密码。
  • 默认数据库(可选):在 MySQL 服务器上找到的数据库之一的名称,可以通过查询从 MySQL 控制台列出该数据库的名称SHOW DATABASES;
图 C:要在 Beekeeper Studio 中创建新连接,您将需要有关连接类型、连接模式、主机 IP 等的信息。图片来源:Phil Hajjar/TechRepublic

填写详细信息后,单击“测试”以确保连接正常。获得“确定”后,为连接命名,然后单击“保存”。最后,单击“连接”,GUI 应该成功连接到您的远程数据库(图D)。

图D:Beekeeper Studio已成功连接到远程数据库。

设置更多连接

恭喜!您不仅为远程连接配置了 MySQL 8,还创建了一个有权访问所有数据库的用户,并使用命令行和 GUI 连接到远程服务器。是时候戴上数据库管理员的帽子开始工作了。

高级版:利用这一点。

现在您已经了解了如何为 MySQL 8 设置远程连接,以下是您可以如何操作,和。