在 Hetzner Cloud 私有网络上安全地使用远程 MySQL 服务器

0 股票
0
0
0
0

介绍

本教程解释了如何使用 Hetzner 云网络从第二个云服务器(MySQL 客户端)访问由一个云服务器(MySQL 服务器)管理的 MySQL 数据库。.

先决条件
  • 1 台已安装 MySQL 的 Hetzner 云服务器。.

您可以手动安装 MySQL,也可以在创建服务器时直接选择“LAMP Stack”。.


步骤 1 – 创建私有网络

在您想要使用的区域,在您的 Hetzner Cloud 项目下创建您的私有网络。.


请记住,默认 IP 地址范围设置为 10.0.0.0/16。.

步骤二:将服务器连接到网络

现在您可以将 MySQL 服务器连接到新网络。您可以使用云控制台或工具来完成此操作。 hcloud 去做。.

hcloud server attach-to-network <your-server-name> --network <your-network-name> --ip <pvt-ip>

最后一部分是 --ip; 可选。如果您未指定特定的私有 IP 地址,Hetzner 云系统将自动为您分配一个免费的私有 IP 地址。.

步骤 3 – 更改 MySQL 配置

要从另一台机器访问 MySQL,您需要修改该文件。 /etc/mysql/mysql.conf.d/mysqld.cnf 创造。.

文件 mysqld.cnf 编辑

要打开 MySQL 配置文件,请使用以下命令:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

范围 绑定地址127.0.0.10.0.0.0 改变。.

如果您是通过“LAMP Stack”程序安装的 MySQL,则需要指定 MySQL 端口(默认情况下)。 3306使用该工具 ufw 打开。.

如果您是手动安装 MySQL,则需要使用以下命令安装防火墙: apt-get 安装ufw

编辑防火墙

打开端口 3306 向防火墙添加规则

ufw allow from 10.1.0.0/16 to any port 3306

10.1.0.0/16 替换为您在步骤 1 中创建的网络 IP 地址范围。.

如果您使用 SSH 连接到服务器,则在启用防火墙之前,还应允许 SSH 连接。.

ufw allow OpenSSH
ufw enable

步骤 4 – 创建新的 MySQL 用户

以root用户身份进入MySQL命令行界面:

mysql -u root -p

创建一个可供非本地实例使用的新 MySQL 用户。.

CREATE USER '<user>'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO '<user>'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

另外,别忘了在修改文件之后…… mysqld.cnf重启 MySQL。要退出 MySQL 命令行界面,请键入 Ctrl+D 使用并运行以下命令:

service mysql restart

步骤 5 – 检查私有网络上的 MySQL 访问权限

从头开始创建一个新服务器,并将其连接到同一个私有网络。.

安装 MySQL 客户端。例如,您也可以使用 MariaDB 客户端。.

apt update apt install mariadb-client -y

现在您需要第一台服务器的私有 IP 地址。在云控制台中,您可以选择您的项目并转到服务器列表。从那里您可以复制该服务器的私有 IP 地址。.

使用以下命令连接到 MySQL 主机:

mysql -h <mysql-host-private-ip> -u <user-created-above> -p

然后只需输入为该用户创建的密码,瞧——你就登录了。.

结果

这里您看到的只是在 Hetzner Cloud 下如何访问私有网络上的数据库的一个例子。.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

您可能也喜欢