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
    • WindowsC:\ProgramData\MySQL\MySQL Server X.X\my.ini
  • 修改配置
1
2
[mysqld]
bind-address = 0.0.0.0  # 允许所有IP连接(默认值为127.0.0.1,仅限本地)

4. 重启MySQL服务

  • Linux:
    1
    2
    sudo systemctl restart mysql   # Ubuntu/Debian
    sudo systemctl restart mysqld  # CentOS/RHEL
  • Windows:
    • 通过服务管理器重启 "MySQLXX" 服务。

5. 开放防火墙端口(默认3306)

  • Linux (ufw):
    1
    2
    sudo ufw allow 3306/tcp
    sudo ufw reload
  • Linux (firewalld):
    1
    2
    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未监听外网。
  • 解决
    1
    2
    3
    # 检查端口监听状态
    netstat -tuln | grep 3306
    # 应显示:0.0.0.0:3306 或 :::3306

2. 错误:ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed

  • 原因:用户权限未正确配置。
  • 解决
    1
    2
    3
    -- 检查用户权限
    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

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

Excelbook.cn Excel技巧 SQL技巧 Python 学习!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

文章版权声明 1、本网站名称:Excelbook
2、本站永久网址:http://www.excelbook.cn
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长王小琥进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END
分享
二维码
< <上一篇
下一篇>>