[TOC] #### 1. 前言 --- 本文记录在 mac 局域网下实现数据库资源共享的问题 项目开发初期,都是在本地进行开发调试,数据库也在本地。那么和你配合开发的同事,就可能想要连接你 mac 电脑的数据库,连接过程中可能就会遇到问题。本文详细记录这些问题及解决方案 #### 2. 绑定地址 --- 一般情况下,你的 MySQL 的 bind-address 取值可能是下面这样的 ``` [mysqld] # Only allow connections from localhost bind-address = 127.0.0.1 ``` 同一局域网内的电脑连接 MySQL 将会报以下错误,目前 MySQL 只能本机访问,不支持局域网内其他电脑访问 ``` SQLSTATE[HY000] [1130] Host 'MACBOOKPRO-FB6C' is not allowed to connect to this MySQL server ``` MySQL 的配置项 bind-address 用于指定哪些 IP 可以连接数据库,下面是最常见的取值: | 值 | 说明 | | ------------ | ------------ | | 127.0.0.1 | 只能本地连接 | | 0.0.0.0 | 允许所有 IP 访问 | 可以通过命令查看当前 bind_address 配置 ```bash select @@bind_address; ``` 下面是我的配置,如果你的查询结果是 127.0.0.1,那么只有你自己的电脑才能连接,别人都访问不了  #### 3. 查找配置文件 --- 下面这个命令可以用于查看数据库配置,以及 MySQL 引用了哪些配置文件和配置文件的加载顺序 ``` mysql --verbose --help ``` Mac 中通过命令查找 MySQL 配置文件所在位置 特别注意:Mac 中 MySQL 的配置文件是 my.cnf,在 Windows 中是 my.ini ```sql mysql --verbose --help | grep my.cnf ``` 下面显示多个配置文件的优先加载顺序,在当前使用的配置文件中修改配置即可  #### 4. 修改访问权限 --- 注意:将修改权限命令的用户密码修改为你的正常密码,我的用户名是 root 密码是 123456 ```sql -- 修改权限 grant all privileges on *.* to root@"%" identified by '123456' with grant option; -- 刷新权限 flush privileges; ```