如何允许远程连接到 MySQL

[ad_1]

介绍

在传统的部署中,人们通常会安装 MySQL 服务器并在同一主机上使用它。 但是,强烈建议我们将 MySQL 服务器和客户端分开,MySQL 服务器应该从远程主机访问。 这种方法有助于系统变得更加安全并提高性能。

为了使上述方法成为可能,我们必须配置 MySQL 服务器以允许来自其客户端的远程连接。

配置 MySQL 服务器

首先,让我们配置 MySQL 服务器以侦听服务器上的预定义 IP 或所有 IP 地址。

如果 MySQL 服务器与客户端在同一网络中,则应在私有 IP 上配置侦听端口。

另一方面,如果你需要通过公网连接MySQL服务器,我们按照下面的配置来配置服务器:

打开配置文件:

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

转到以 bind-address 开头的行

默认情况下,bind-address 的值为 127.0.0.1

如果要将 MySQL 服务器设置为侦听所有 IP 地址,请配置 bind-address = 0.0.0.0 的值

为了使更改生效,让我们重新启动 MySQL 服务:

$ sudo systemctl restart mysql

从远程主机授予用户访问权限

在这一部分,我们将向您展示允许远程用户访问数据库的方法。

登录MySQL服务器:

$ sudo mysql

然后,

mysql> GRANT ALL ON DATABASE-NAME.* TO [email protected] IDENTIFIED BY ‘USER-PASSWORD’;

例如:

mysql> GRANT ALL ON linuxways.* TO [email protected] IDENTIFIED BY ‘mysecuredpass’;

配置防火墙

MySQL 服务器侦听端口 3306。您必须打开此端口以允许来自远程主机的流量。 您可以使用以下方法之一:

iptables
$ sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT

ufw

如果使用 ufw 打开 3306 端口,只需运行以下命令即可:

$ sudo ufw allow 3306/tcp

结论

您已经详细了解了如何允许远程连接到 MySQL 服务器。

如果您有任何疑虑,请告诉我。 感谢您的阅读。

[ad_2]

Related Posts