在实际开发和项目部署过程中,我们常常需要从远程主机连接到 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: 0mysql> 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、服务器的防火墙需要开放端口,命令行开放端口,宝塔等等
注意事项
- 安全风险:开放远程访问会增加服务器的安全风险,建议仅允许特定的 IP 地址进行连接。可以将 ‘newuser’@‘%’ 中的 %
替换为具体的 IP 地址,如 ‘newuser’@‘192.168.1.100’。 - 密码强度:使用强密码来保护数据库用户的安全,避免使用简单易猜的密码。
- 定期更新:定期更新 MySQL 服务器和操作系统,以修复安全漏洞。