MySQL开启远程访问权限的完整步骤记录!
MySQL开启远程访问权限的完整步骤记录!
作者:bingoo~
MySQL是常用的关系型数据库,默认仅支持本地访问,若需更灵活管理,可通过远程连接突破限制,实现跨主机操作,这篇文章主要介绍了MySQL开启远程访问权限的完整步骤,需要的朋友可以参考下。
要在MySQL中开启远程访问权限,需完成以下步骤:
1. 登录MySQL服务器
1
2
|
mysql -u root -p # 输入root密码进入MySQL命令行 |
2. 创建允许远程访问的用户(或修改现有用户)
方案1:创建新用户并授权
1
2
3
4
5
6
7
8
|
-- 创建用户('username'替换为用户名,'password'替换为密码,'remote_ip'替换为远程客户端IP或'%'允许所有IP) CREATE USER 'username' @ 'remote_ip' IDENTIFIED BY 'password' ; -- 授予权限(建议按需授权,此处示例授予所有数据库的完全权限) GRANT ALL PRIVILEGES ON *.* TO 'username' @ 'remote_ip' WITH GRANT OPTION ; -- 刷新权限 FLUSH PRIVILEGES ; |
方案2:修改root用户允许远程访问(不推荐,存在安全风险)
1
2
3
4
5
|
-- 更新root用户的host为'%'(允许任意IP) UPDATE mysql. user SET Host= '%' WHERE User = 'root' AND Host= 'localhost' ; -- 刷新权限 FLUSH PRIVILEGES ; |
3. 修改MySQL配置文件
- 找到配置文件:
- Linux:
/etc/mysql/mysql.conf.d/mysqld.cnf
或/etc/my.cnf
- Windows:
C:\ProgramData\MySQL\MySQL Server X.X\my.ini
- Linux:
- 修改配置:
1
2
|
[mysqld] bind -address = 0.0.0.0 # 允许所有IP连接(默认值为127.0.0.1,仅限本地) |
4. 重启MySQL服务
- Linux:
12
sudo systemctl restart mysql
# Ubuntu/Debian
sudo systemctl restart mysqld
# CentOS/RHEL
- Windows:
- 通过服务管理器重启 "MySQLXX" 服务。
5. 开放防火墙端口(默认3306)
- Linux (ufw):
12
sudo ufw allow 3306/tcp
sudo ufw reload
- Linux (firewalld):
12
sudo firewall
-cmd
-
-permanent
-
-add
-port
=3306/tcp
sudo firewall
-cmd
-
-reload
- Windows:
- 控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则(端口3306)。
6. 验证远程连接
1
2
|
# 从另一台机器测试连接(替换IP、用户名、密码) mysql -h <mysql_server_ip> -u username -p |
常见问题排查
1. 错误:ERROR 2003 (HY000): Can't connect to MySQL server
- 原因:防火墙未放行端口或MySQL未监听外网。
- 解决:
123
# 检查端口监听状态
netstat
-tuln
| grep 3306
# 应显示:0.0.0.0:3306 或 :::3306
2. 错误:ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed
- 原因:用户权限未正确配置。
- 解决:
123
-- 检查用户权限
SELECT
Host, User FROM mysql.user;
-- 确保目标IP或
'%'
存在授权记录
3. 错误:ERROR 1045 (28000): Access denied
- 原因:密码错误或用户无权限。
- 解决:确认用户名、密码及授权IP是否匹配。
安全建议
- 最小权限原则:按需授予权限(如
SELECT, INSERT
而非ALL PRIVILEGES
)。 - 限制访问IP:避免使用
'%'
,指定具体IP或网段。 - 启用SSL加密(可选):
1
ALTER
USER
'username'
@
'remote_ip'
REQUIRE SSL;
通过以上步骤,即可安全地开启MySQL远程访问权限。
总结
到此这篇关于MySQL开启远程访问权限的文章就介绍到这了。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。