В некоторых случаях необходимо, чтобы на одном компьютере работало
несколько различных серверов mysqld
: например, если нужно запустить для
тестирования новую версию MySQL совместно со старой версией, которая
находится в работе, или когда разным пользователям нужно предоставить
доступ к различным серверам mysqld
, с которыми они умеют обращаться
самостоятельно.
Один из способов запустить новый сервер -- указать ему другой канал и порт, например, таким образом:
shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock shell> MYSQL_TCP_PORT=3307 shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT shell> scripts/mysql_install_db shell> bin/safe_mysqld &
Приложение, в котором описаны переменные окружения, включает список других
переменных окружения, которые можно использовать для управления mysqld
(see Приложение E, Переменные окружения).
В приведенном выше примере представлен грубый быстрый метод, который обычно применяется для тестирования. Преимуществом данного метода является то, что все соединения, которые устанавливаются в указанной выше оболочке, автоматически направляются на новый запущенный сервер!
Если работать с несколькими серверами необходимо постоянно, то нужно
создать файл параметров для каждого сервера (see Раздел 4.1.2, «Файлы параметров my.cnf
»). В скрипте запуска, который выполняется при каждой загрузке,
следует указать оба сервера:
safe_mysqld --defaults-file=path-to-option-file
Для серверов должны быть различными по крайней мере следующие параметры:
port=#
socket=path
pid-file=path
Приведенные ниже параметры, если они используются, также должны различаться:
log=path
log-bin=path
log-update=path
log-isam=path
bdb-logdir=path
shared-memory-base-name (Новое в MySQL 4.1)
Если требуется увеличить производительность, необходимо также задать разные значения для следующих параметров:
tmpdir=path
bdb-tmpdir=path
See Раздел 4.1.1, «Параметры командной строки mysqld
».
Начиная с MySQL 4.1, в tmpdir
могут быть указаны несколько путей, разделенных
двоеточием :
(точкой с запятой на Windows ;
). Эти пути будут
использованы в ротации. Эта функция может быть использована для того, чтобы распределить
данные между разными физическими дисками.
Если производится установка бинарной версии MySQL (файлы .tar), которая
запускается из ./bin/safe_mysqld
, то в большинстве случаев единственными
параметрами, которые необходимо добавить/изменить, являются аргументы
socket
и port
для safe_mysqld
.
See Раздел 4.1.4, «Запуск нескольких серверов MySQL на одном компьютере».