На моем 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 при нормальной / обычной нагрузке.