在 Mac 上通过局域网连接 MySQL,可以按照以下步骤进行设置:

1. 配置 MySQL 允许远程连接

修改 MySQL 配置文件

找到 MySQL 配置文件 my.cnfmy.ini,通常位于以下路径:

  • /usr/local/etc/my.cnf
  • /etc/my.cnf
  • /opt/homebrew/etc/my.cnf

编辑该文件,确保有以下配置:

[mysqld] bind-address = 0.0.0.0

这会使 MySQL 监听所有网络接口,而不仅仅是本地接口。

重启 MySQL 服务

brew services restart mysql@5.7

2. 配置防火墙(如果有)

确保防火墙允许 MySQL 的默认端口(3306)通过。你可以通过以下命令打开端口:

sudo ipfw add allow tcp from any to any 3306

注意:现代 Mac OS X 版本不再使用 ipfw,而是使用 pf。如果使用 pf,请参阅相关文档进行配置。

3. 创建远程访问用户

确保 MySQL 中有一个用户允许从局域网访问。如果没有,请按以下步骤创建:

登录 MySQL:

mysql -u root -p

在 MySQL 控制台中,创建一个用户并授予远程访问权限:

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

这会创建一个用户 username,允许从任何 IP 地址连接到 MySQL 服务器。如果只想允许特定 IP 地址访问,可以替换 % 为特定的 IP 地址。

4. 获取 Mac 的局域网 IP 地址

在终端中运行以下命令获取你的 Mac 的局域网 IP 地址:

ifconfig

找到 en0 接口下的 inet 地址。例如,192.168.1.100

5. 在客户端连接 MySQL

现在,你可以在局域网内的其他设备上通过 MySQL 客户端连接到你的 Mac。使用以下命令:

mysql -h 192.168.1.100 -u username -p

用实际的 IP 地址和用户名替换上述命令中的 192.168.1.100username

6. 排除连接问题

如果连接失败,请检查以下几点:

  • 确保 MySQL 服务正在运行。
  • 确保防火墙配置正确,允许端口 3306 通信。
  • 确保 MySQL 用户和权限配置正确。
  • 确保局域网中的其他设备可以访问你的 Mac。

示例总结

  1. 修改 MySQL 配置文件并重启服务:
sudo nano /usr/local/etc/my.cnf
# 添加或修改
bind-address = 0.0.0.0
brew services restart mysql@5.7
  1. 创建 MySQL 用户并授予远程访问权限:
mysql -u root -p CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
  1. 获取 Mac 的局域网 IP 地址并在客户端连接:
ifconfig
# 查找 en0 接口下的 inet 地址
mysql -h 192.168.1.100 -u username -p

通过上述步骤即可局域网内连接到你的 Mac 上运行的 MySQL 。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部