远程连接MySQL如何让未在本机的MySQL也能访问(mysql不在本机)

远程连接MySQL:如何让未在本机的MySQL也能访问?

MySQL是一种开源的关系型数据库管理系统,其广泛应用于Web开发、数据分析等领域。在开发和使用MySQL过程中,远程连接MySQL是很常见的需求,但是由于安全限制,默认情况下MySQL禁止所有远程连接,只能在本地使用。那么如何才能让未在本机的MySQL也能访问?

一、MySQL配置文件修改

要允许远程连接MySQL,需要修改MySQL配置文件。在Linux环境下,MySQL的配置文件一般在/etc/my.cnf或者/etc/mysql/my.cnf目录下。用vim或者nano编辑器打开该文件后,在[mysqld]下添加如下代码:

[mysqld]
bind-address = 0.0.0.0

这里的“0.0.0.0”表示MySQL可以接受来自任意IP的连接请求。如果只想允许特定IP连接,可以用具体的IP地址替换“0.0.0.0”。

保存修改后,重启MySQL服务生效:

$ sudo systemctl restart mysqld

二、创建MySQL用户

为了确保安全,需要创建一个专门用于远程连接的MySQL账户。在MySQL命令行下,输入以下命令创建一个名为“远程用户”、密码为“密码”的用户:

mysql> CREATE USER '远程用户'@'%' IDENTIFIED BY '密码';

其中,“%”表示允许来自任意IP的连接请求,如果只允许特定IP连接,则需要将“%”替换为具体的IP地址。

三、授权MySQL用户

为了让用户能够访问MySQL,需要为该用户授予权限。在MySQL命令行下,输入以下命令授权:

mysql> GRANT ALL PRIVILEGES ON *.* TO '远程用户'@'%';

其中,“*.*”表示赋予用户对所有数据库和表的访问权限。如果只想授权特定的数据库和表,可以用具体的名称替换“*.*”。

四、防火墙设置

在使用远程连接MySQL的过程中,需要确保从远程主机到本机的MySQL端口(默认为3306)是开放的,否则连接会失败。在Linux环境下,可以使用firewall-cmd命令开放端口:

$ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
$ sudo firewall-cmd --reload

这里的–permanent表示将设置永久生效,–reload表示重新载入防火墙规则。

五、测试远程连接MySQL

以上步骤完成后,就可以在另一台机器上测试远程连接MySQL了。在终端下输入以下命令:

$ mysql -u 远程用户 -h 服务器IP -p

其中,“远程用户”是刚刚创建的MySQL用户,“服务器IP”是MySQL所在的服务器IP地址。根据提示输入密码即可成功连接MySQL。

本文中介绍了如何让未在本机的MySQL也能访问,主要涉及了MySQL配置文件修改、创建MySQL用户、授权MySQL用户、防火墙设置和测试远程连接MySQL。尽管开启远程连接MySQL方便了操作,但是也带来了一定的安全风险,因此需要在使用时格外注意安全问题。


数据运维技术 » 远程连接MySQL如何让未在本机的MySQL也能访问(mysql不在本机)