需配置用户权限、bind-address和防火墙。先创建可远程登录用户并授权,再将bind-address设为0.0.0.0,最后开放3306端口,重启服务后测试连接。

要在 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 服务:
冬瓜配音
AI在线配音生成器
66 查看详情
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中配置远程访问权限的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/295652.html
微信扫一扫
支付宝扫一扫