我正在使用 FreeBSD 9.2 服务器并运行mysqltuner.pl
以检查 MySQL 的内存和缓存需求。现在我需要向my.cnf
FreeBSD 添加一个文件,以便它使用该文件而不是该auto cnf
文件。
我可以这样复制my-default.cnf
:
cp /usr/local/share/mysql/my-default.cnf /usr/local/etc/my.cnf
然后my.cnf
将加载。
该my-default.cnf
文件显示了这些值(将延续到my.cnf
):
# 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
# *the above innodb line I can set*
# *But where do I get the values below?*
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
我从哪里得到上面的值?我知道它们必须来自当前的 MySQL 服务器,但是如何找到这些设置?
这个问题应该在https://dba.stackexchange.com/上吗?
您可以通过登录 mysql 并运行查询来获取当前配置
要搜索特定配置,您可以使用 SQL 语法。例如要知道当前的 datadir 使用:
参考:MySQL官方文档
一般来说,您不必定义这些参数,因为它们很难编译到作为 FreeBSD 端口构建的 mysql 中。您必须更改负责数据库引擎调整的参数。
例如,这是我的配置
我所更改的只是 tcp 端口,以避免愚蠢的 h4xor 敲击标准 3306
我知道这篇文章已经有几年历史了,自 FreeBSD 9.2(实际上是 2017 年 11 月的 11.1 版)以来,许多事情都发生了变化,您可以在以下位置找到 my.cnf 文件