Spec-Zone .ru
спецификации, руководства, описания, API

5.6. Выполнение Экземпляров MySQL Multiple на Одной Машине

5.6.1. Установка Многократных Каталогов Данных
5.6.2. Выполнение Экземпляров MySQL Multiple на Windows
5.6.3. Выполнение Экземпляров MySQL Multiple на Unix
5.6.4. Используя Клиентские Программы в Многократной серверной среде

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

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

Используете ли Вы отличные двоичные файлы сервера, каждый экземпляр, который Вы выполняете, должен быть сконфигурирован с уникальными значениями для нескольких операционных параметров. Это устраняет потенциал для конфликта между экземплярами. Параметры могут быть установлены на командной строке в файлах опции, или устанавливая переменные окружения. См. Раздел 4.2.3, "Определение Опций Программы". Чтобы видеть значения, используемые приведенным примером, соединитесь с этим и выполните a SHOW VARIABLES оператор.

Основной ресурс, которым управляет экземпляр MySQL, является каталогом данных. Каждый экземпляр должен использовать различный каталог данных, расположение которого определяется, используя --datadir=path опция. Для методов конфигурирования каждого экземпляра с его собственным каталогом данных, и предупреждений об опасностях быть не в состоянии сделать так, см. Раздел 5.6.1, "Устанавливая Многократные Каталоги Данных".

В дополнение к использованию различных каталогов данных у нескольких других опций должны быть различные значения для каждого экземпляра сервера:

Если Вы используете следующие опции файла журнала, их значения должны отличаться для каждого сервера:

Для дальнейшего обсуждения опций файла журнала см. Раздел 5.2, "MySQL Server Logs".

Чтобы достигнуть лучшей производительности, можно определить следующую опцию по-другому для каждого сервера, чтобы распространить загрузку между несколькими физическими дисками:

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

Если у Вас есть многократные установки MySQL в различных расположениях, можно определить основной каталог для каждой установки с --basedir=path опция. Это заставляет каждый экземпляр автоматически использовать различный каталог данных, файлы журнала, и файл PID, потому что значение по умолчанию для каждого из тех параметров относительно основного каталога. В этом случае единственные другие опции, которые Вы должны определить, --socket и --port опции. Предположите, что Вы устанавливаете различные версии использования MySQL tar двоичные дистрибутивы файла. Они устанавливают в различных расположениях, таким образом, можно запустить сервер для каждой установки, используя команду, bin/mysqld_safe в соответствии с ее соответствующим основным каталогом. mysqld_safe определяет надлежащее --basedir опция, чтобы передать к mysqld, и Вы должны определить только --socket и --port опции к mysqld_safe.

Как обсуждено в следующих разделах, возможно запустить дополнительные серверы, определяя соответствующие опции команды или устанавливая переменные окружения. Однако, если Вы должны выполнить многократные серверы на более постоянной основе, более удобно использовать файлы опции, чтобы определить для каждого сервера те значения опции, которые должны быть уникальными для этого. --defaults-file опция полезна с этой целью.