Mac OS El Capitan下无法同时建立多个MySQL连接求助
解决Mac OS El Capitan下无法同时建立多个MySQL连接的问题
我在El Capitan上维护MySQL时也碰到过一模一样的问题,这种双向互斥的连接限制大概率是配置或连接协议的问题,给你一步步排查和解决的方案:
第一步:排查用户连接数限制
先关掉所有当前的MySQL连接(比如关闭Sequel Pro、终止终端里的MySQL进程),然后用终端登录MySQL:
mysql -u your_username -p
登录后执行以下命令查看关键配置:
-- 查看单个用户允许的最大连接数 SHOW VARIABLES LIKE 'max_user_connections'; -- 查看全局最大连接数 SHOW VARIABLES LIKE 'max_connections';
如果max_user_connections的返回值是1,那这就是问题根源——你的MySQL被配置成每个用户只能建立1个连接,自然无法同时用多个客户端连接。
第二步:修改MySQL配置文件
根据你的MySQL安装方式找到配置文件:
- 官方安装包:配置文件通常在
/etc/my.cnf或/usr/local/mysql/my.cnf - Homebrew安装:配置文件在
/usr/local/etc/my.cnf
用sudo权限打开配置文件,添加或修改以下内容:
# 设置单个用户允许的最大连接数,按需调整,比如100 max_user_connections = 100 # 全局最大连接数,建议比单用户值高,比如200 max_connections = 200
保存后重启MySQL服务:
- 官方安装包版本:
sudo /usr/local/mysql/support-files/mysql.server restart
- Homebrew版本:
brew services restart mysql
第三步:统一连接协议(如果配置调整无效)
如果上面的操作没解决问题,可能是客户端连接协议不一致导致的:
- Sequel Pro默认可能用Unix套接字连接,而终端/网站用TCP/IP连接
- 尝试统一连接方式:
- 在Sequel Pro的连接设置里,选择「Socket」选项,指定套接字路径(通常是
/tmp/mysql.sock) - 终端连接时显式指定套接字:
mysql -u your_username -p --socket=/tmp/mysql.sock - 在Sequel Pro的连接设置里,选择「Socket」选项,指定套接字路径(通常是
第四步:查看错误日志定位细节
如果还是有问题,去MySQL错误日志里找线索,日志位置一般在/usr/local/mysql/data/[你的主机名].err,搜索Lost connection相关条目,里面会有更具体的错误原因(比如权限、端口占用等)。
内容的提问来源于stack exchange,提问作者Xus
相关产品推荐
相关产品推荐

