如何在mysql中配置远程访问权限

P粉602998670
发布: 2025-11-04 11:16:02
原创
791人浏览过
需配置用户权限、bind-address和防火墙。先创建可远程登录用户并授权,再将bind-address设为0.0.0.0,最后开放3306端口,重启服务后测试连接。

如何在mysql中配置远程访问权限

要在 MySQL 中配置远程访问权限,需要从两个层面进行设置:MySQL 用户权限配置和服务器网络配置。只要其中一环没配好,远程连接就会失败。以下是具体操作步骤。

1. 修改 MySQL 用户权限

默认情况下,MySQL 用户只能从本地(localhost)登录。要允许远程访问,需为用户授予从指定或任意主机访问的权限。

示例:允许特定用户从任意 IP 连接

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

说明:

  • 'your_user'@'%' 表示该用户可以从任何 IP 地址连接。
  • 如果只想允许某个 IP(如 192.168.1.100),可改为 'your_user'@'192.168.1.100'。
  • FLUSH PRIVILEGES 是刷新权限表,让更改立即生效。

2. 修改 MySQL 配置文件绑定地址

MySQL 默认只监听本地回环地址(127.0.0.1),需要修改配置使其监听所有网络接口。

找到 MySQL 配置文件 my.cnf 或 my.ini(Linux 通常在 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf,Windows 在安装目录下)。

找到 bind-address 这一行:

bind-address = 127.0.0.1

将其改为:

bind-address = 0.0.0.0

这表示 MySQL 将监听所有可用网络接口。保存文件后重启 MySQL 服务:

Tellers AI
Tellers AI

Tellers是一款自动视频编辑工具,可以将文本、文章或故事转换为视频。

Tellers AI 78
查看详情 Tellers AI
sudo systemctl restart mysql

3. 确保防火墙允许访问

即使 MySQL 允许远程连接,系统防火墙可能仍会阻止外部访问 3306 端口

以 Ubuntu 使用 ufw 为例:

sudo ufw allow from 192.168.1.0/24 to any port 3306

或者开放给所有 IP(注意安全风险):

sudo ufw allow 3306

CentOS 使用 firewalld 的话:

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

4. 测试远程连接

从另一台机器使用客户端测试:

mysql -u your_user -p -h your_mysql_server_ip

如果能成功登录,说明远程访问已配置完成。

基本上就这些。关键是用户权限、bind-address 和防火墙三者都正确设置。配置完成后建议限制访问 IP 范围,避免将数据库直接暴露在公网造成安全风险。

以上就是如何在mysql中配置远程访问权限的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号