怎样设置本地MySQL数据库,实现数据库长途访问(Linux和Windows)

[复制链接]
发表于 2026-10-9 20:22:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

创建可远程访问的 MySQL 用户

登录 MySQL,创建一个允许任意 IP 连接、拥有全部权限的用户(生产环境建议把 % 限制为特定 IP):

mysql -u root -p
CREATE USER 'remote'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

注意 'remote'@'%' 与 'remote'@'localhost' 是两个不同用户;'host' 为 % 表示允许任何 IP。

修改 MySQL 配置文件(bind-address)

Windows 的 my.ini 通常在 C:\ProgramData\MySQL\MySQL Server X.X\my.ini(ProgramData 为隐藏目录);Linux 通常在 /etc/mysql/mysql.conf.d/mysqld.cnf。把 bind-address 改为 0.0.0.0:

# Linux
bind-address            = 127.0.0.1
# 修改为
bind-address            = 0.0.0.0

Windows 在 [mysqld] 段添加:

bind-address = 0.0.0.0
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

重启 MySQL 服务

# Windows
net stop mysql
net start mysql
# Linux
sudo systemctl restart mysql

配置系统防火墙(3306)

Windows 在"高级安全 Windows 防火墙"中新建入站规则,允许 TCP 3306。Linux 则开放端口:

sudo ufw allow 3306
# 或 iptables
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

验证远程连接

在另一台机器用客户端连接:mysql -h 服务器IP -u remote -p。只要网络通畅、用户权限与防火墙都配置正确,即可远程访问。

qidao123.com企服评测-应用市场 编辑提示:开放 0.0.0.0 与 % 权限存在安全风险,公网环境务必结合防火墙白名单、强密码或 VPN/跳板机使用。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表