Большинство людей запускают один сервер MySQL на назначенной машине, но есть ситуации, когда запуск нескольких серверов полезны: вы можете протестировать новые версии сервера с запуском производственного сервера. В этом случае будет запущен другой сервер.
Операционная система обычно налагает общий предел процесса на количество дескрипторов для открытых файлов. Если ваша система испытывает трудности с повышением предела, запуск нескольких серверов является обходным путем (например, повышение предела может потребовать перекомпилирования ядра, и если машина находится за пределами вашей юрисдикции, вы, возможно, не сможете этого сделать). В этом сценарии вы можете запустить несколько экземпляров одного и того же сервера.
Интернет -сервисы часто предоставляют клиентам свою собственную установку MySQL, которая требует отдельного сервера. В этом случае вы можете запустить несколько экземпляров одного и того же сервера или разных серверов, если разным клиентам требуются разные версии MySQL.
Конечно, запуск нескольких серверов одновременно сложнее, чем запустить только один. Если вы планируете установить несколько версий, вы не можете установить их все в одном месте. Когда сервер работает, определенные параметры должны быть уникальными для каждого сервера. Некоторые из этих параметров включают в себя, где установлен сервер: PathName к каталогу данных, порту TCP/IP и PathName Domain Unix и учетной записи Unix, используемой для запуска нескольких серверов (если не запускается все под одним и тем же сервером учетных записей). Если вы решите запустить несколько серверов, вы должны сохранить хорошее описание параметров, которые вы используете, чтобы не терять отслеживание своих пробежек.
Настроить и установить несколько серверов
Если вы планируете запустить разные версии сервера, а не несколько экземпляров одного и того же сервера, вы должны установить их в разных местах. Если вы установите бинарные (не RPM) распределительные пакеты, они будут установлены в имени каталога, содержащее номер версии. При установке из распределения источника самый простой способ сохранить различные распределения отдельными-это использовать опцию--with-prefix при запуске настройки во время каждой версии установки MySQL. Это приведет к установке в отдельном каталоге, который может быть связан с номером версии распределения. Например, вы можете настроить пакет дистрибуции MySQL следующим образом, где версия - номер версии MySQL:
% ./configure .. с помощью prefix =/usr/local/mysql-version
Опция With-Prefix также определит уникальный каталог данных сервера. Вы можете добавить параметры для настройки других специфичных для сервера, таких как порт TCP/IP и Pathname (--with-tcp-port и--with-unix-socket).
Если вы планируете запустить несколько экземпляров одного и того же сервера, любые параметры, конкретные для сервера, должны быть указаны во время выполнения.
Процесс запуска нескольких серверов
Запуск нескольких серверов сложнее, чем использование одного сервера, потому что и Safe_mysqld, и MySQL.Server хорошо работают на одном сервере. Автор рекомендует вам тщательно изучить Safe_mysqld и использовать его в качестве основы процесса запуска, если только вы не используете более детальную копию, измененную для ваших потребностей.
Одна проблема, с которой необходимо решить, - как указать параметры в файле параметров. С несколькими серверами вы не можете использовать /etc/my.cnf для настройки, которые изменяются на общей основе сервера, используйте этот файл только для настройки, которые одинаковы для всех серверов. Если каждый сервер имеет различное местоположение каталога данных, вы можете указать специфичные для сервера параметры в файле my.cnf для каталога данных каждого сервера. Другими словами, используйте/etc/my.cnf для настройки, которые используются всеми серверами, и data dir/my.cnf для настройки, которые зависят от сервера, где DataDir изменяется для каждого сервера.
Другой способ указать параметры сервера - использовать - - Defa ul ts - file = path_name в качестве первой опции в командной строке, чтобы сообщить серверу для чтения параметров из файла, указанного path_name. Таким образом, параметры сервера в этом файле могут быть уникально размещены на этом сервере, а затем сообщить серверу прочитать файл при запуске. Обратите внимание, что если эта опция указана, не будет использоваться ни один из обычных файлов опций (например, /etc/my.cnf).