意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

允许MySQL远程连接的教程

来源:恒创科技 编辑:恒创科技编辑部
2024-02-02 16:39:14

在本教程中,小编将引导大家逐步完成允许远程连接Linux系统上的MySQL服务器的说明。这些说明应该独立于我们使用

的任何Linux发行版而工作。在本教程中我们将学习:

如何允许远程连接MySQL服务器?


允许MySQL远程连接的教程

如何通过系统防火墙允许远程连接MySQL?

如何创建或更改MySQL用户以允许远程连接?



允许远程连接到MySQL数据库的过程分为三步。

首先,我们需要通过在MySQL配置文件中配置公共绑定地址来将MySQL服务设置为可从远程计算机访问。

其次,我们需要允许通过系统防火墙进行远程访问。默认情况下,MySQL在端口3306上运行,因此需要允许到该端口的

连接。

最后,我们需要创建一个新用户或编辑现有用户,以使其可以从远程 IP 地址访问。我们可以选择允许所有IP地址或仅允

许特定IP地址。


一、配置MySQL绑定地址

1、我们将从打开/etc/mysql/mysql.cnf文件开始。使用root权限,在nano或我们喜欢的文本编辑器中打开它。

$ sudo nano /etc/mysql/mysql.cnf

2、bind-address找到该部分下方的设置[mysqld]。默认情况下,当前应配置为环回地址127.0.0.1。删除该地址并将服务

器的公共IP地址放在其位置。10.1.1.1我们仅出于示例目的而使用。

[mysqld]

绑定地址 = 10.1.1.1

如果需要,我们可以使用0.0.0.0作为绑定地址,它是一个通配符,应该将服务绑定到所有可访问的接口。不建议这样做,

但如果我们以后遇到问题,这有助于排除故障。

[mysqld]

绑定地址 = 0.0.0.0

3、进行更改后,保存对文件的更改并退出。然后,我们需要重新启动 MySQL服务以使更改生效。

$ sudo systemctl重新启动mysql

在某些发行版上,可能会调用该服mysqld:

$ sudo systemctl 重新启动mysqld


二、允许通过防火墙进行远程访问

假设我们的MySQL服务器使用端口3306,我们需要允许它通过系统防火墙。我们需要执行的命令将取决于我们正在使用

的发行版。

在Ubuntu系统和其他使用ufw(简单防火墙)的系统上:

$ sudo ufw 允许 mysql

在 Red Hat、CentOS、Fedora 以及使用 firewalld 的衍生系统上:

$ sudo 防火墙-cmd --zone=public --add-service=mysql --permanent

$ sudo 防火墙-cmd --reload

iptables还有一个应该适用于任何系统的古老命令:

$ sudo iptables -A 输入 -p tcp --dport 3306 -m conntrack --ctstate 新,已建立 -j 接受


三、允许远程连接到特定用户

现在MySQL服务可以接受传入连接,并且我们的防火墙将允许它们通过,我们只需将用户配置为接受远程连接即可。

首先使用root帐户打开MySQL。

$ sudo mysql

或者,在某些配置中,我们可能需要输入以下命令并提供root密码:

$ mysql -u 根 -p

如果我们已经创建了一个用户,并且需要将该用户配置为可从远程 IP 地址访问,我们可以使用MySQL命令RENAME

USER。我们将使用户可以通过下面示例命令中的linuxconfigIP地址进行访问,但请根据自己的配置需要进行调整。

10.150.1.1

mysql> 将用户'linuxconfig'@'localhost'重命名为'linuxconfig'@'10.150.1.1';

或者,如果我们是第一次创建此用户,我们将使用该CREATE USER命令。请务必将以下用户名、IP 地址和密码替换为我

们自己的。

mysql> 创建用户“linuxconfig”@“10.150.1.1”,由“password_here”标识;

如果我们希望可以从任何IP地址访问我们的用户,那么可以%在命令中使用而不是特定的IP地址。以下是如何编辑现有用

户以便可以从任何IP访问:

mysql> 将用户'linuxconfig'@'localhost'重命名为'linuxconfig'@'%';

以下是如何创建一个可以从任何 IP 地址访问的新用户:

mysql> 创建用户 'linuxconfig'@'%' 由 'password_here' 标识;

这里的所有都是它的。授予我们的用户对一个或多个数据库的访问权限后,我们将能够使用帐户凭据远程访问数据库。


在本教程中,我们了解了如何允许远程连接到Linux系统上的MySQL服务。这是一个由三个部分组成的过程:使服务可访

问、允许通过防火墙进行连接以及创建可访问的MySQL帐户。由于MySQL在所有发行版中的工作原理基本相同,因此这

些步骤应该适用于每个人。


上一篇: xshell怎么连接云服务器? 下一篇: Linux中SSH的含义、历史、特性、配置和用例介绍