Назад | Перейти на главную страницу

my.cnf в каталоге сервера, почему

На моем 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 в разных местах, нельзя ли объединить контент в один my.cnf? Какова цель разделения my.cnf для MySQL сервера?

Пакеты 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 будет загружена, а у вас мало оперативной памяти, вашей системе может не хватить памяти.

Если вы хотите точно настроить MySQL, я предлагаю загрузить и запустить https://github.com/rackerhacker/MySQLTuner-perl

Перед запуском убедитесь, что служба MySQL работает при нормальной нагрузке в течение 24-48 часов. mysqltuner однако, поскольку он работает лучше всего, когда он может анализировать различные характеристики производительности MySQL при нормальной / обычной нагрузке.