5.7.2.1 Запуск нескольких экземпляров MySQL в командной строке Windows
Процедура ручного запуска одного сервера MySQL из командной строки описана в разделе 2.3.4.6 «Запуск MySQL из командной строки Windows». Для запуска нескольких серверов таким образом, вы можете указать соответствующие параметры в командной строке или в файле параметров. Более удобно размещать параметры в файле параметров, но необходимо убедиться, что каждый сервер получает свой набор параметров. Для этого создайте файл параметров для каждого сервера и укажите имя файла с параметром --defaults-file при запуске.
Предположим, что вы хотите запустить один экземпляр mysqld на порту 3307 с каталогом данных C:\mydata1, и другой экземпляр на порту 3308 с каталогом данных C:\mydata2. Используйте следующую процедуру:
Убедитесь, что каждый каталог данных существует, включая свою копию базы данных
mysql, содержащей таблицы разрешений.-
Создайте два файла параметров. Например, создайте файл с именем
C:\my-opts1.cnf, который выглядит следующим образом:[mysqld] datadir = C:/mydata1 port = 3307
Создайте второй файл с именем
C:\my-opts2.cnf, который выглядит следующим образом:[mysqld] datadir = C:/mydata2 port = 3308
-
Используйте параметр
--defaults-fileдля запуска каждого сервера со своим файлом параметров:C:\>
C:\mysql\bin\mysqld --defaults-file=C:\my-opts1.cnfC:\>C:\mysql\bin\mysqld --defaults-file=C:\my-opts2.cnfКаждый сервер запускается в фоновом режиме (новый приглашение не появляется, пока сервер не завершит работу позже), поэтому вы должны выполнить эти две команды в отдельных окнах консоли.
Для остановки серверов подключитесь к каждому из них, используя соответствующий номер порта:
C:\> C:\mysql\bin\mysqladmin --port=3307 --host=127.0.0.1 --user=root --password shutdown
C:\> C:\mysql\bin\mysqladmin --port=3308 --host=127.0.0.1 --user=root --password shutdown
Серверы, настроенные как описано выше, позволяют клиентам подключаться по TCP/IP. Если ваша версия Windows поддерживает именованные каналы и вы также хотите разрешить подключения через именованные каналы, укажите параметры, которые включают именованный канал и укажите его имя. Каждый сервер, поддерживающий подключения через именованные каналы, должен использовать уникальное имя канала. Например, файл C:\my-opts1.cnf может быть записан следующим образом:
[mysqld]
datadir = C:/mydata1
port = 3307
enable-named-pipe
socket = mypipe1
Аналогичным образом измените C:\my-opts2.cnf для использования вторым сервером. Затем запустите серверы, как описано ранее.
Аналогичная процедура применяется для серверов, для которых вы хотите разрешить подключения через общую память. Разрешите такие подключения, запустив сервер с включенной системной переменной shared_memory и укажите уникальное имя общей памяти для каждого сервера, установив системную переменную shared_memory_base_name.
© 2025 Oracle
Licensed under the GPLv2 License.