You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改my.cnf增大innodb-buffer-pool-size?遇sudo报错求助

解决MySQL 2013连接丢失错误与my.cnf配置问题

一、先修正sudo命令的错误

你直接输入sudo /opt/homebrew/etc/my.cnf会报错,原因是sudo后需指定编辑器命令,正确的修改命令为:

sudo nano /opt/homebrew/etc/my.cnf

或使用vim编辑器:

sudo vim /opt/homebrew/etc/my.cnf

二、确认MySQL实际加载的配置文件路径

Homebrew安装的MySQL会按优先级读取多个配置文件,你可以通过以下命令查看它实际加载的配置文件顺序:

mysql --help | grep "Default options" -A 10

输出示例:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
...

找到列表中存在的、排在最前面的文件,就是MySQL当前正在使用的配置文件。

三、修改innodb_buffer_pool_size配置

即使当前文件只有默认配置,你也可以直接在[mysqld]区块下添加所需配置:

[mysqld]
# 保留原有配置
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
# 添加缓冲池配置,根据服务器内存调整,比如8G内存可设为4G
innodb_buffer_pool_size = 4G
# 可选:添加超时参数,缓解查询超时断开问题
wait_timeout = 28800
connect_timeout = 10

保存文件后,重启MySQL服务生效:

brew services restart mysql

四、额外排查方向

除了缓冲池大小,2013错误还可能由这些原因导致:

  • Python连接时未设置超时,可在连接参数中补充:
    import mysql.connector
    conn = mysql.connector.connect(
        host='localhost',
        user='你的用户名',
        password='你的密码',
        database='你的数据库',
        connect_timeout=30,
        connection_timeout=30
    )
    
  • 查询语句过于庞大,可拆分查询或优化SQL逻辑
  • 服务器资源不足,检查CPU、内存使用率是否过高

内容的提问来源于stack exchange,提问作者Astro_raf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:50:28