MySQL. Конфигурирование сервера

Вообще говоря, конфигурирование сервера – задача эмпирическая. Настроек очень много и все их нужно подбирать под конкретную задачу, работу того или иного приложения, железа и так далее. В данном посте посмотрим на основы – как это делать в принципе и какие трудности могут возникнуть в связи с этим?

Я экспериментировал с системой Windows 8.1 на ноутбуке, у меня установлена версия MySQL Server 5.5. Все настройки находятся в файле my.ini


C:\Program Files\MySQL\MySQL Server 5.5\my.ini


Проблема – файл не редактируется

Чтобы изменить хоть что-то в этом файле, нужно обладать правами администратора. И хотя у меня были права администратора под текущей учетной записью, изменить в этом файле у меня все равно ничего не получилось, пока я не зашел под ролью “Администратор”. В Windows 8.1 она по умолчанию отключена.

Решение. Включить права администратора в Windows 8.1

Жмем “Win+X“, в выплывающем меню выбираем “Командная строка (администратор)“, далее, для включения роли администратора набираем команду

net user администратор /active:yes

для отключения роли администратора

net user администратор /active:no

Открываем файл my.ini

В my.ini мы найдем несколько секций с параметрами. Например, в моем файле я обнаружил

[client]

…параметры

[mysqld]

…параметры

[mysqld_safe]

…параметры

Секция [client] для клиентских программ, которые работают с базой. Секция [mysqld] это непосредственно сами настройки сервера. Секция [mysqld_safe] это настройки безопасного режима сервера (авто-перезагрузка при сбоях и так далее).

Сделаем что-нибудь полезное

Сделаем что-нибудь полезное, например увеличим значение max_allowed_packet до  значения 1000 МБ (из документации The maximum size of the buffer for client/server communication. The default is 16MB, the maximum is 1GB.). Часто mySQL падает из-за того, что на сервер отправляются слишком большие файлы, например BLOB, и его приходится перезапускать. Для того, чтобы избежать этой проблемы – увеличим значение данной переменной. Сделать это очень просто – добавим в файл my.ini  в секцию [mysqld] соответствующее значение.

max_allowed_packet=1000M

Таким образом, в файле my.ini мы можем написать следующее

Проверить, изменилось ли значение можно из консольного клиента mysql, набрав следующую команду

Установить их из консольного клиента можно следующим образом

Глобальные и сеансовые переменные

MySQL сервер поддерживает два типа переменных, глобальные и сеансовые.

  • Глобальные переменные – инициализируются при старте MySQL сервера, получая значения по умолчанию.
  • Сеансовые переменные – создаются для каждого соединения клиента с сервером и получают значения, установленные для глобальных переменных.

Где взять полный список настроек сервера?

Официальная документация на английском языке

Русский вариант одного блогера

Примеры настроек сервера

 

This entry was posted in MySQL, Без рубрики. Bookmark the permalink.