【问题标题】:How to configure my.cnf in 5.6.17?5.6.17如何配置my.cnf?
【发布时间】:2026-01-19 14:20:03
【问题描述】:

在生产服务器(linux机器mysql 5.6.17)上,我试图找到my.cnf来更改系统变量,但my.cnf不在/etc/my.cnf位置。它在 usr/ 目录中。此外,该文件仅包含 cmets,例如 -

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

请告诉我应该在哪里复制 my.cnf 以及如何更改变量,例如 -

innodb_buffer_pool_size = 200M
max_connections = 300

【问题讨论】:

    标签: mysql linux my.cnf mysql-5.6 system-variable


    【解决方案1】:

    有多种方法可以像这样修改全局变量。

    在你的 my.cnf 文件中

    添加/编辑[mysqld]块下的值,所以;

    [mysqld]
    innodb_buffer_pool_size = 200M
    max_connections = 300
    

    然后重新启动 mysqld 守护程序以使更改生效。

    运行查询

    您可以运行以下查询来更改这些变量的值,但是一旦mysqld 守护程序重新启动/服务器重新启动/等,就会重置为默认值。

    SET GLOBAL innodb_buffer_pool_size = 200M;
    SET GLOBAL max_connections = 300;
    

    您可以在此处阅读更多相关信息:http://dev.mysql.com/doc/refman/5.0/en/using-system-variables.html

    【讨论】:

    • @hd,但在 my.cnf 中,所有内容都由 # 注释。添加innodb_buffer_pool_size和max_connections后,其他参数会怎样呢?它们会保持不变(默认值)吗?还是我必须全部添加?
    • 它们应该保持默认。我事先在开发环境中运行它,因为我在更改全局变量方面没有太多经验。
    • 好的,位置呢?我应该将 my.cnf 从 /usr 复制到 etc/ 吗?
    • @Aamir 看到这个:*.com/questions/580331/…
    • 链接与mysql 5.0有关。我正在开发 5.6,这就是为什么我在设置 my.cnf 时遇到问题,任何帮助将不胜感激。