Mysql 服务器开放远程访问

发布于:2025-02-22 ⋅ 阅读:(17) ⋅ 点赞:(0)

在实际开发和项目部署过程中,我们常常需要从远程主机连接到 MySQL 服务器,进行数据库的管理和操作。

默认情况下,MySQL 服务器只允许本地(即服务器本身)进行访问,要实现远程访问,需要进行一系列的配置。

以下详细介绍如何开放 MySQL 服务器的远程访问权限。

具体步骤

步骤 1:登录 MySQL 服务器

首先,使用具有管理员权限的用户登录到 MySQL 服务器。在终端中输入以下命令:

[root@iZgc70rffp16j9r031ng0gZ ~]# mysql -u root -p 
Enter password: 

输入密码后,即可成功登录到 MySQL 控制台。

步骤 2:创建允许远程访问的用户(可选)

如果你想使用特定的用户进行远程访问,可以创建一个新用户并授予相应的权限。在 MySQL 控制台中执行以下命令:

sql
-- 创建新用户,用户名和密码可根据实际情况修改
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

-- 授予该用户所有数据库的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

-- 刷新权限表,使权限生效
FLUSH PRIVILEGES;

如果想修改特定用户进行远程访问,则直接修改用户数据

mysql> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> select host, user from user where user='root';
+------+------+
| host | user |
+------+------+
| %    | root |
+------+------+
1 row in set (0.00 sec)

步骤 3: 配置防火墙(可选)

如果服务器启用了防火墙,需要开放 MySQL 的默认端口(3306)
1、开放云服务器的端口,例如阿里云 安全组 ,开放3306 端口
2、服务器的防火墙需要开放端口,命令行开放端口,宝塔等等

注意事项

  1. 安全风险:开放远程访问会增加服务器的安全风险,建议仅允许特定的 IP 地址进行连接。可以将 ‘newuser’@‘%’ 中的 %
    替换为具体的 IP 地址,如 ‘newuser’@‘192.168.1.100’。
  2. 密码强度:使用强密码来保护数据库用户的安全,避免使用简单易猜的密码。
  3. 定期更新:定期更新 MySQL 服务器和操作系统,以修复安全漏洞。