Spec-Zone .ru
спецификации, руководства, описания, API
|
В некоторых случаях Вы могли бы хотеть выполнить многократные экземпляры MySQL на единственной машине. Вы могли бы хотеть протестировать новый выпуск MySQL, оставляя существующую производственную установку, без помех. Или Вы могли бы хотеть предоставить различный пользовательский доступ к различным mysqld серверам, которыми они управляют самостоятельно. (Например, Вы могли бы быть Интернет-провайдером, который хочет предоставить независимые установки MySQL различным клиентам.)
Возможно использовать различный двоичный файл сервера MySQL на экземпляр, или использовать тот же самый двоичный файл для многократных экземпляров, или любую комбинацию двух подходов. Например, Вы могли бы выполнить сервер от MySQL 5.6 и один от MySQL 5.7, чтобы видеть, как различные версии обрабатывают данную рабочую нагрузку. Или Вы могли бы выполнить многократные экземпляры текущей производственной версии, каждый управляющий различным набором баз данных.
Используете ли Вы отличные двоичные файлы сервера, каждый экземпляр, который Вы выполняете, должен быть
сконфигурирован с уникальными значениями для нескольких операционных параметров. Это устраняет потенциал для
конфликта между экземплярами. Параметры могут быть установлены на командной строке в файлах опции, или
устанавливая переменные окружения. См. Раздел 4.2.3, "Определение
Опций Программы". Чтобы видеть значения, используемые приведенным примером, соединитесь с этим и
выполните a SHOW VARIABLES
оператор.
Основной ресурс, которым управляет экземпляр MySQL, является каталогом данных. Каждый экземпляр должен
использовать различный каталог данных, расположение которого определяется, используя --datadir=
опция. Для методов
конфигурирования каждого экземпляра с его собственным каталогом данных, и предупреждений об опасностях быть не в
состоянии сделать так, см. Раздел 5.6.1, "Устанавливая
Многократные Каталоги Данных". path
В дополнение к использованию различных каталогов данных у нескольких других опций должны быть различные значения для каждого экземпляра сервера:
--port
управляет номером порта для соединений TCP/IP. Альтернативно,
если у узла есть многократные сетевые адреса, можно использовать --bind-address
заставить каждый сервер слушать различный адрес.
--socket
управляет путем к файлу сокета Unix на Unix или именем
именованного канала на Windows. На Windows необходимо определить, что отличный канал называет только
для тех серверов сконфигурированный, чтобы разрешить соединения именованного канала.
--shared-memory-base-name=
name
Эта опция используется только на Windows. Это называет имя разделяемой памяти используемым Windows server, чтобы разрешить клиентам соединять разделяемую память использования. Необходимо определить, что отличная разделяемая память называет только для тех серверов сконфигурированный, чтобы разрешить сопряжения с общей памятью.
Эта опция указывает на путь файла, в котором сервер пишет свой ID процесса.
Если Вы используете следующие опции файла журнала, их значения должны отличаться для каждого сервера:
Для дальнейшего обсуждения опций файла журнала см. Раздел 5.2, "MySQL Server Logs".
Чтобы достигнуть лучшей производительности, можно определить следующую опцию по-другому для каждого сервера, чтобы распространить загрузку между несколькими физическими дисками:
Наличие различных временных каталогов также облегчает определять который сервер MySQL, создаваемый любой данный временный файл.
Если у Вас есть многократные установки MySQL в различных расположениях, можно определить основной каталог для
каждой установки с --basedir=
опция. Это заставляет каждый экземпляр
автоматически использовать различный каталог данных, файлы журнала, и файл PID, потому что значение по умолчанию
для каждого из тех параметров относительно основного каталога. В этом случае единственные другие опции, которые
Вы должны определить, path
--socket
и --port
опции. Предположите, что Вы устанавливаете различные версии
использования MySQL tar
двоичные дистрибутивы файла. Они устанавливают в различных
расположениях, таким образом, можно запустить сервер для каждой установки, используя команду, bin/mysqld_safe в соответствии с ее соответствующим основным
каталогом. mysqld_safe определяет надлежащее --basedir
опция, чтобы передать к mysqld, и Вы должны определить только --socket
и --port
опции к mysqld_safe.
Как обсуждено в следующих разделах, возможно запустить дополнительные серверы, определяя соответствующие опции
команды или устанавливая переменные окружения. Однако, если Вы должны выполнить многократные серверы на более
постоянной основе, более удобно использовать файлы опции, чтобы определить для каждого сервера те значения
опции, которые должны быть уникальными для этого. --defaults-file
опция полезна с этой целью.