在我的Ubuntu机器,我已经安装MySQL。
我注意到有/etc/my.cnf
文件包含内容(只有两行):
innodb_buffer_pool_size = 1G
max_allowed_packet = 512M
虽然也有/etc/mysql/my.cnf
内容很长的,例如:
# The MySQL database server configuration file.
...
...
对我来说,看起来两者都是 MySQL 服务器的配置,但是为什么两个配置位于不同的位置,不能将要合并的内容合并到一个 my.cnf 中吗?为 MySQL 服务器my.cnf
单独设置的目的是什么?my.cnf
答案1
Ubuntu MySQL 包在中创建配置文件/etc/mysql/my.cnf
,因此如果您有一个/etc/my.cnf
文件,那是因为您使用的包(可能来自多元宇宙)或工具创建了它。
如果你不确定文件来自哪里,你可以使用dpkg --search file.name
下面的示例输出来查看它是否来自包
root@lamp01:~# dpkg --search my.cnf
mysql-common: /etc/mysql/my.cnf
最终,这两个配置选项都不是特别危险,因此您可以安全地将它们合并/etc/mysql/my.cnf
并重新启动 MySQL。不过您需要留意,innodb_buffer_pool_size = 1G
因为如果您的 MySQL 服务变得繁忙并且您没有太多 RAM,您的系统可能会内存不足。
如果你想微调 MySQL,我建议下载并运行https://github.com/rackerhacker/MySQLTuner-perl
您需要确保在运行之前让 MySQL 服务在正常负载下运行 24-48 小时mysqltuner
,因为当它可以在正常/通常负载下分析 MySQL 的各种性能特征时,效果最佳。