Андрей Смирнов
Время чтения: ~20 мин.
Просмотров: 54

Что нужно настроить в mySQL сразу после установки?

MySQL сервер. Файл конфигураций my.ini. Настройка кодировки MySQL сервера. Таблицы перекодировок

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжим сегодня рубрику Заметки о MySQL, в которой я уже успел рассказать о том, как установить MySQL сервер и как настроить сервер баз данных. Сегодня я продолжу рассказывать о настройках сервера MySQL. В данной статье мы разберемся со следующими вопросами: куда устанавливается MySQL сервер, где найти базы данных MySQL сервера, как найти базы данных MySQL, для чего нужен файл my.ini, посмотрим примеры настройки сервера MySQL и где найти примеры настройки MySQL сервера.

mysql.jpg

Разберемся с кодировкой MySQL сервера. Какую кодировку лучше использовать. Разберемся с командами MySQL сервера для смены кодировки. Так же затронем вопрос о включение и выключение MySQL, обратите внимание, что MySQL сервер не перезагружается. Посмотрим, какие возможности есть у сервера MySQL. Разберемся где лежат таблицы перекодировок MySQL сервера и как их добавить. А также сделаем настройки файла my.ini.

MySQL сервер. Настройка MySQL сервера, файл конфигурации my.ini, примеры настройки MySQL сервера.

Как я уже говорил, с установкой и предварительной настройкой MySQL сервера мы разобрались, теперь давайте посмотрим, хотя бы поверхностно, из чего состоит MySQL сервер. Какие файлы за что отвечают. MySQL сервер, в моем случае был установлен по данному пути: c:UsersPublicMySQL, кто-то мог установить сам сервер в папку Program Files, обратите внимание, что этот путь не указывает, то место, где хранятся базы данных MySQL сервера, здесь находится сам сервер баз данных.

mysql1.png

На скрине можно увидеть несколько файлов и папок сервера MySQL, нас собственно большая часть этих файлов не волнует.

Основной файл конфигурации MySQL сервера my.ini, это обычный текстовый файл, в который были вписаны настройки, которые мы вводили при установке MySQL сервера. Все остальные установленные файлы с расширением .ini – это всего лишь демонстрации настроек для my.ini, работает только my.ini, то есть, все остальные файлы существуют, как примеры для конфигурации и настройки MySQL сервера. Проще говоря, пример, как настроить MySQL сервер.

Программы MySQL сервера, какой файл для чего нужен

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

mysql2.png

Сам сервер MySQL – это mysqld.exe, d – означает демон, ну или служба. Про некоторые другие утилиты и программы мы поговорим в дальнейшем более подробно. Если у вас стоит win xp, то базы данных будут находиться c:Documents and SettingsAll UsersApplication DataMySQL MySQL Server 5.xdata, если вы пользуетесь total commander или любым другим нормальным файловым менеджером, то без труда найдете эту папку, если вы пользуетесь проводником от Windows, то обязательно укажите в настройках «Отображать скрытые файлы», так как данная папка скрыта.

На самом деле все это можно настроить в файле my.ini и реально эти папки могут находиться, там где вам будет удобнее. Файл my.ini нужно будет разобрать более подробно, и тема эта для отдельной статьи.

Кодировка MySQL сервера. SET NAMES — команда для смены кодировки. Кодировка командной строки Windows.

И так, теперь немного поговорим о кодировке сервера MySQL и кодировке командной строки Windows. Если вы будете пользоваться MySQL Command Lint Client, то проблем с кодировкой у вас возникнуть не должно.

mysql3.png

Данный клиент установиться вместе с сервером и работа в нем не отличается от работы с командной строкой Windows. Для начала, вы вводите пароль, придуманный вами при установки MySQL сервера, а затем, не заморачиваясь с кодировками и командами типа SET Names, начинаете работать с базами данных: создавать новые базы данных, удалять базы данных, добавлять строки и столбцы к существующим таблицам баз данных, делать выборки из баз данных, создавать и удалять таблицы и многое-многое другое.

mysql4.png

Но если вы решили управлять сервером MySQL через командную строку, то знайте, что кодировка командной строки Windows отличается от кодировки MySQL сервера, в командной строке – это cp866, MySQL сервер в моем случае работает с кодировкой UTF8. И это нужно исправить, кодировку командной строки поменять мы не можем. Остается менять кодировку, с которой работает сервер MySQL.

Как изменить кодировку MySQL сервера. Как получить доступ к серверу MySQL через командную строку Windows.

Тут у нас есть два способа. Первый из них, постоянно писать команду SET NAMES и указывать кодировку cp866. SET NAMES – это не одна команда, как считают некоторые, а целых три. Первая команда – установить кодировку ввода, то есть, с какой кодировки перекодировать данные, которые получает сервер. Вторая команда – установить кодировку вывода, то есть, в какой кодировки сервер MySQL будет отдавать данные. И третья команда – установить collation или по другому правила сравнения строк. И чтобы не набирать три команды сразу была придумана команда SET NAMES. И так, чтобы указать нужную кодировку следует написать SET NAMES, а затем в одинарных кавычках написать нужную кодировку.

Выглядит все это примерно так:

mysql6.png

Не забудьте точку с запятой, этот символ означает конец команды.

Чуть было не забыл, если вы пользуетесь командной строкой, то не забудьте, что MySQL сервер запускается путем написания команды mysql –uroot –pпароль, соответственно, после буквы u вы указываете пользователя сервера MySQL, а после буквы p – пароль. Пример на скрине:

mysql5.png

Под цифрой один, вы можете посмотреть, как указать папку, где установлен сервер MySQL, под цифрой два показано, как получить доступ к серверу баз данных.

По сути, вводя команду SET NAMES, мы как бы говорим серверу: «В данном сеансе(или иначе подключении) я буду работать с тобой вот в этой кодировки». То есть, из этого следует, что при каждом новом подключении к серверу MySQL, нам потребуется постоянно вводить команду SET NAMES и указывать кодировку, с которой необходимо работать. Удобно? Мне кажется, что не очень. Никаких SET NAMES при работе с консолью от MySQL вводить не надо.

Настройка MySQL сервера. Файл конфигураций my.ini. Настройка кодировок MySQL сервера.

И так, чтобы не париться с кодировкой, нужно настроить MySQL сервер. Настройки сервера производятся в файле my.ini. Открывайте его текстовым редактором, я пользуюсь Notepad++, очень удобный редактор, его легко настроить, есть подсветка синтаксиса, а самое главное – его можно скачать бесплатно.

Обратите внимание, что my.ini состоит из разделов, первый – Client, второй – mysql, третий – mysqld. Раздел mysqld – отвечает за настройку сервера MySQL. Mysql – это настройка черного окошечка, в котором собственно и будем работать. Раздел client – это настройки по умолчанию для всех клиентов MySQL сервера.

mysql7.png

Обратите внимание, на скриншоте выделена кодировка, которая стоит для работы в консоле, если вы будете пользоваться консолью от MySQL, то здесь ничего не меняйте, если вы предпочитаете командную строку Windows, то кое какие изменения сделать придется, дабы постоянно не писать SET NAMES. Как видно, кодировка для работы с окном DOS стоит utf8, но это не правда, так как в черном окне у нас кодировка cp866. То есть, первое, что надо поменять – это вместо utf8 написать cp866.

Таблицы перекодировок MySQL сервера. Где находятся таблицы перекодировок и куда их прописать.

Но этого будет недостаточно. Потому что мы пока не указали, где лежат таблицы перекодировки сервера MySQL. То есть, грубо говоря, консоль пока не знает, как переводить из одной кодировки в другую. Программе надо указать, где лежат таблицы перекодировки, а лежат они собственно в самом сервере MySQL, в папке Share, в папке charsets. Путь выглядит примерно так:

В этой папке много файлов с расширением XML, про язык расширяемой разметки XML, уже есть несколько публикаций в рубрике Заметки о XML. Именно в папке charsets вы можете посмотреть, какие кодировки поддерживает MySQL сервер.

mysql8.png

В качестве примера можно привести Денвер – джентльменский набор web разработчика. У многих возникают проблемы типа: у меня на Денвере не работает кодировка UTF8, что делать? Ответ: для начала загляните в папку charsets Денверовского MySQL сервера, и если там нет файла utf8.xml, то понятно, что он и не будет поддерживать эту кодировку.

Понятно, что командная строка Windows не знает, где лежат таблицы перекодировок и ей это нужно указать. Делается это все в том же my.ini, в разделе mysql указывается папка, в которой хранятся таблицы перекодировок, при помощи команды character-sets-dir=””, между двойными кавычками нужно вписать путь к папке, в которой лежат таблицы перекодировок.

Не забудьте, что в разделе Client нужно указать кодировку – там необходимо указать utf8, а также прописать путь к таблицам сравнения, на всякий пожарный.

Итоговая настройка my.ini будет выглядеть примерно так:

Но если вы будете использовать консоль от MySQL, то внесите изменения только в раздел client, и то не обязательно, хотя папку с таблицами перекодировки лучше указать в двух разделах:

Ну а вот скрин из редактора, тут прописаны настройки для работы с сервером MySQL через командную строку:

mysql9.png

Все эти настройки и команды означают буквально следующее: character-sets-dir – этой строкой мы как бы говорим, в первом случае, клиенты вы берете таблицы вот отсюда и указываете, откуда они берут таблицы перекодировок. default-character-set=cp866, этой строкой вы как бы говорите консоли, ты будешь использовать кодировку cp866. Да чуть не забыл, все слэши нужно использовать в UNIX виде, то есть, в примерах слеши написаны не правильно их нужно развернуть вот так — /. В Windows без разницы, какие вы будете использовать разделители, но если вы пользуетесь UNIX системами, то слеши нужно будет развернуть.

Как включить MySQL сервер. Как выключить MySQL сервер. Что нужно сделать, чтобы новые настройки сохранились.

После того, как вы внесли изменения в my.ini, нужно перезагрузить MySQL сервер, команды рестарт, как в случае с Apache тут нет. Придется выключить и заново включить сервер. Сделать это можно из командной строки, используя две команды. Первая net stop – предназначена для выключения службы, вторая – net start, которая предназначена для включения службы. Служба у нас MySQL сервер, следовательно, для него эти команды будут выглядеть так:

Обратите внимание, что никаких точек с запятой после этих команд ставить не надо, как в случае с Set NAMES. Да и перед тем, как перезагрузить MySQL сервер, не забудьте, что нужно выйти из аккаунта управления сервером MySQL, чтобы это сделать есть команда exit.

Командой exit мы вышли из MySQL сервера, а командой net stop mysql мы выключили MySQL сервер. Когда вы в следующий раз включите MySQL сервер, командой net start mysql, а затем и войдете, как администратор сервера то никаких SET NAMES в командной строке Windows писать уже не надо, так как все уже указано в файле my.ini. Еще одна маленькая помарка, все эти настройки избавляют вас от того, чтобы постоянно вводить SET NAMES в командной строке, но не избавляет вас от необходимости вводить SET NAMES, в случае, когда вы обращаетесь к серверу MySQL при написание скриптов на PHP или любом другом языке программирования.

Также не забудьте, если настроили MySQL сервер под работу в командной строке, то вам придется постоянно указывать кодировку для работы с сервером в консоли от MySQL – MySQL Command Client.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru 

Возможно, эти записи вам покажутся интересными

Дата публикации: 2016-07-12

100.jpg

От автора: ребята! Беда у меня! Недавно поселился рядом новый сосед, а он музыкант. И самое страшное, что играет на барабане. После очередного «творческого кризиса2 он решил из музыкантов податься в настройщики ударных установок. Вот с тех пор и тренируется дома! Причем от этого у всего «дома» началась сплошная головная боль. В общем, решили его «переквалифицировать» в администратора СУБД. Обучение соседа я начал с рассмотрение темы о том, как настроить MySQL.

Особенности настройки СУБД

Основные настройки MySQL задаются при установке экземпляра на компьютер или хостинг. Большая часть параметров (при использовании для инсталляции пакета установщика Windows) инициализируются автоматически при выборе в окне распаковщика стандартного варианта.

Тем не менее, всю «доводку» СУБД под высокопроизводительный ресурс придется проводить вручную с помощью изменения настроек в конфигурационном файле my.cnf, который является глобальным для всего экземпляра MySQL.

У меня на локально установленном Денвере этот файл находится на виртуальном диске, который создается автоматически при запуске Apache, по следующему адресу: Z:usrlocalmysql-5.5

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

В других версия сервера СУБД конфигурационный файл может находиться во вложенной папке etc: /etc/my.cnf

Это пригодиться, чтобы знать все нюансы того, как настроить MySQL на хостинге. Так как на разных площадках могут использоваться различные версии СУБД.

Глобальный файл конфигурации открывается с помощью Блокнота или любого другого текстового редактора. Взглянем, что находится внутри my.cnf.

3.png

Здесь прописаны основные параметры и конфигурации, которые необходимы для работы вашего экземпляра СУБД. Опишем некоторые из них.

Часто востребованные настройки my.ini

Параметры, которые будут кратко рассмотрены ниже, часто востребованы при более тонкой настройки СУБД под конкретные нагрузки или особенности структуры БД. Имеется в виду используемый тип таблицы, который задается при создании:

4.png

nnodb_flush_log_at_trx_commit.

MyISAM.

CSV.

MEMORY.

ARHIVE.

BLACKHOLE.

Все они применяются для хранения определенных типов данных. Точнее, особенности этих движков позволяют MySQL использовать определенный формат данных. Более подробно об этом можно узнать из официальной документации по СУБД или из другой профессиональной литературы. Но вернемся к параметрам из my.ini, с которыми нужно ознакомиться перед тем, как настраивать MySQL сервер:

key_buffer_size – значение этой переменной следует увеличивать, если на сервере часто применяется тип MyISAM. По умолчанию стоит значение 32 «метра». При частом использовании таблиц данного типа параметр следует увеличить до 30% от объема всей отведенной MySQL памяти.

innodb_buffer_pool_size – нужно повышать значение данной переменной, если часто применяете тип InnoDB. Так как эти таблицы не используют системный кэш (ОС), то под них придется выделить около 60% от все памяти.

innodb_log_file_size – этот параметр следует повышать, если в БД происходит частая запись данных. Чем больше значение, тем скорость выполнения запросов выше. Но тогда процесс восстановления информации будет занимать больше времени.

query_cache_size – устанавливает размер кэша под запросы. Больше памяти стоит выделять, если на уровне приложения не реализовано собственного кэша. Тогда следует увеличить значение параметра до 512 Мб, но это максимально допустимый показатель. Поскольку это приведет к чрезмерному потреблению серверных мощностей.

thread_cache – размер кэша, выделяемый под подключения (потоки). Большое значение параметра также может привести к значительному повышению расходования мощностей сервера, выделенных на хостниге.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

table_open_cache (в некоторых версиях СУБД table_cache) – сколько памяти выделено под кэш таблиц. При этом для повышения скорости обработки запросов нужно выделить достаточное количество ресурсов. Для базы (баз) в несколько сотен таблиц данный показатель должен иметь значение около 1 «гектара» (в файле конфигурации указывается 1024).

nnodb_flush_log_at_trx_commit – влияет на скорость взаимодействия СУБД таблицами типа InnoDB. Перед тем, как настроить базу данных MySQL, стоит выяснить, какое задать значение задать этому параметру. 1 – тогда запись данных будет происходить на дисковое пространство (самый медленный вариант); 2 – информация сохраняется в кэше ОС, а запись в логи происходит после записи в кэш (подходит для большинства случаев); 0 –данные сохраняются сразу в логи (самый быстрый вариант, но и самый небезопасный).

innodb_log_buffer_size – размер кэша под логи. Большое значение следует устанавливать, если на сайте может резко повышаться (всплеском) нагрузка на СУБД. В остальных случаях лучше оставить значение переменной без изменений.

Системные переменные

Если вы внимательно меня «слушали», то должны были обратить внимание, что я называл параметры конфигурации из my.ini системными переменными. Это значит, что их можно изменять и получать их значение с помощью запросов SQL. Перед тем, как настраивать MySQL, проверим данную аксиому на практике. Для начала выведем значение всех системных переменных СУБД:

5.png

Ух ты! Да их тут несколько десятков, поэтому найти нужную переменную в этом списке будет очень сложно. Упрощаем процесс поиска:

6.png

Значение переменной мы получили, вот только в my.ini для этого параметра задано значение 56 метров. А тут какое-то восьмизначное число.

Воспользуемся онлайн-конвертором величин, и переведем возвращенное MySQL значение в мегабайты (Мб). Получается, что запрос вернул результат в байтах.

Это следует учитывать, чтобы уметь и знать, как настраивать MySQL сервер.

Теперь зададим для переменной query_cache_size большее значение. Например, 70 метров. Для этого снова воспользуемся конвектором величин: 70 мегабайт = 73400320 байт

Затем запускаем на выполнение следующий запрос:

Теперь проверим, поменялось ли значение переменной. Для этого используем предыдущий запрос (show variables):

Мы видим, что значение параметра увеличилось, но оно не изменилось в конфигурационном файле. Из-за этого «повышенный» буфер будет действовать только в рамках текущего сеанса. Во время следующего запуска сервер СУБД снова считает данные из my.ini и кэш под запросы снова уменьшится до 56 МБ.

Получается, что нужно редактировать содержание конфигурационного файла. Так «глобальнее» будет . Надеюсь, теперь вы знаете, как настроить базы данных MySQL. Это обязательно пригодится. А что мой сосед? Донимает меня расспросами насчет СУБД, поэтому голова теперь болит только у меня, а не у всего дома.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Хотите изучить MySQL?

Посмотрите курс по базе данных MySQL!

Смотреть Регулярные выражения. Метасимвол точкаФокус-покус представление или что можно сделать на PHP —>

Метки:MySQL

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

https://webformyself.com/kak-nastroit-mysql-bez-muzykalnogo-obrazovaniya/—>Автор оригинала: peter

  • Перевод

Вольный перевод довольно старой статьи с MySQL Performance Blog о том, что лучше сразу же настроить после установки базовой версии mySQL. Удивительно, сколько народу устанавливает mySQL на свои сервера и оставляют его с настройками по умолчанию. Несмотря на то, что в mySQL существует довольно много настроек, которые Вы можете изменить, есть набор действительно очень важных характеристик, которые обязательно нужно оптимизировать под собственный сервер. Обычно после такой небольшой настройки производительность сервера заметно увеличивается.

  • key_buffer_size — крайне важная настройка при использовании MyISAM-таблиц. Установите её равной около 30-40% от доступной оперативной памяти, если используете только MyISAM. Правильный размер зависит от размеров индексов, данных и нагрузки на сервер — помните, что MyISAM использует кэш операционной системы (ОС), чтобы хранить данные, поэтому нужно оставить достаточно места в ОЗУ под данные, и данные могут занимать значительно больше места, чем индексы. Однако обязательно проверьте, чтобы всё место, отводимое директивой key_buffer_size под кэш, постоянно использовалось — нередко можно видеть ситуации, когда под кэш индексов отведено 4 ГБ, хотя общий размер всех .MYI-файлов не превышает 1 ГБ. Делать так совершенно бесполезно, Вы только потратите ресурсы. Если у Вас практически нет MyISAM-таблиц, то key_buffer_size следует выставить около 16-32 МБ — они будут использоваться для хранения в памяти индексов временных таблиц, создаваемых на диске.
  • innodb_buffer_pool_size — не менее важная настройка, но уже для InnoDB, обязательно обратите на неё внимание, если собираетесь использовать в основном InnoDB-таблицы, т.к. они значительно более чувствительны к размеру буфера, чем MyISAM-таблицы. MyISAM-таблицы в принципе могут неплохо работать даже с большим количеством данных и при стандартном значении key_buffer_size, однако mySQL может сильно «тормозить» при неверном значении innodb_buffer_pool_size. InnoDB использует свой буфер для хранения и индексов, и данных, поэтому нет необходимости оставлять память под кэш ОС — устанавливайте innodb_buffer_pool_size в 70-80% доступной оперативной памяти (если, конечно, используются только InnoDB-таблицы). Относительно максимального размера данной опции — аналогично key_buffer_size — не стоит увлекаться, нужно найти оптимальный размер, найдите лучшее применение доступной памяти.
  • innodb_additional_mem_pool_size — данная опция практически никак не влияет на производительность mySQL, однако рекомендую оставлять для InnoDB около 20 МБ (или чуть больше) под различные внутренние нужды.
  • innodb_log_file_size — крайне важная настройка в условиях баз данных с частыми операциями записи в таблицы, в особенности при больших объёмах. Большие размеры увеличивают быстродействие, однако будьте осторожны — увеличится и время восстановления данных. Я обычно выставляю значение около 64-512 МБ в зависимости от размера сервера.
  • innodb_log_buffer_size — стандартное значение данной опции вполне подойдёт для большинства систем со средним количеством операций записи и небольшими транзакциями. Если же в Вашей системе бывают всплески активности, или Вы активно работаете с BLOB-данными, то рекомендую немного увеличить значение innodb_log_buffer_size. Однако не переусердствуйте — слишком большое значение будет пустой тратой памяти: буфер сбрасывается каждую секунду, поэтому Вам не понадобится больше места, чем требуется в течение этой секунды. Рекомендуемое значение — около 8-16 МБ, а для небольших баз — и того меньше.
  • innodb_flush_log_at_trx_commit — жалуетесь, что InnoDB работает в 100 раз медленнее MyISAM? Вероятно, Вы забыли про настройку innodb_flush_log_at_trx_commit. Значение по умолчанию «1» означает, что каждая UPDATE-транзакция (или аналогичная команда вне транзакции) должна сбрасывать буфер на диск, что достаточно ресурсоёмко. Большинство приложений, в особенности ранее использовавшие таблицы MyISAM, будут хорошо работать со значением «2» (т.е. «не сбрасывать буфер на диск, только в кэш ОС»). Лог, однако, всё равно будет сбрасываться на диск каждые 1-2 секунды, поэтому в случае аварии Вы потеряете максимум 1-2 секунды обновлений. Значение «0» повысит производительность, но Вы рискуете потерять данные даже при аварийной остановке mySQL-сервера, в то время как при установке значение innodb_flush_log_at_trx_commit в «2» Вы потеряете данные только при аварии всей операционной системы.
  • table_cache — открытие таблиц может быть весьма ресурсоёмко. К примеру, MyISAM-таблицы помечают заголовки .MYI файлов как «используемые в текущий момент». Обычно не рекомендуется открывать таблицы слишком часто, поэтому лучше, чтобы кэш был достаточных размеров, чтобы держать все Ваши таблицы открытыми. Для этого используется некоторое количество ресурсов ОС и оперативной памяти, однако это обычно не является существенной проблемой для современных серверов. Если у Вас несколько сотен таблиц, то стартовым значением для опции table_cache может быть«1024» (помните, что каждое соединение требует свой собственный дескриптор). Если у Вас ещё больше таблиц или очень много соединений — увеличьте значение параметра. Я видел mySQL сервера со значением table_cache равной 100 000.
  • thread_cache — создание/уничтожение потоков также является ресурсоёмкой операцией, которая происходит при каждой установке соединения и каждом разрыве соединения. Я обычно выставляю эту опцию равную 16. Если у Вашего приложения могут быть скачки количество конкурентных соединений и по переменной Threads_Created виден быстрый рост количества потоков, то стоит увеличить значение thread_cache. Цель — не допускать создания новых потоков в условиях нормального функционирования сервера.
  • query_cache_size — если Ваше приложение много и часто читает данные, и при этом у Вас нет кэша на уровне приложения, эта опция может очень помочь. Не ставьте здесь слишком большое значение, так как обслуживание большого кэша запросов будет само по себе затратным. Рекомендуемое значение — от 32 до 512 МБ. Не забудьте проверить, насколько хорошо используется кэш запросов — в некоторых условиях (при небольшом количестве хитов в кэше, т.е. когда практически не выбираются одинаковые данные) использование большого кэша может ухудшить производительность.

Как Вы можете видеть, это — глобальные настройки. Эти переменные зависят от «железа» сервера и используемых движков mySQL, в то время как сессионные переменные обычно настраиваются специально под конкретные задачи. Если Вы в основном используете простые запросы, то нет никакой необходимости увеличивать значение sort_buffer_size, даже если у Вас есть лишние 64 ГБ оперативной памяти. Более того, большие значения кэшей могут только ухудшить производительность сервера. Сессионные переменные лучше оставить на потом, для тонкой настройки сервера. PS: инсталляция mySQL идёт с несколькими предустановленными файлами my.cnf, рассчитанными под разную нагрузку. Если Вам некогда настраивать сервер вручную, то обычно лучше использовать их, чем стандартный конфигурационный файл, выбрав тот, что больше подойдёт под нагрузку Вашего сервера.Используемые источники:

  • https://zametkinapolyah.ru/zametki-o-mysql/server-mysql/mysql-server-fajl-konfiguracij-my-ini-nastrojka-kodirovki-mysql-servera-tablicy-perekodirovok.html
  • https://webformyself.com/kak-nastroit-mysql-bez-muzykalnogo-obrazovaniya/
  • https://habr.com/post/66684/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации