Spec-Zone.ru › MySQL 5.7

5.7.2.1 Запуск нескольких экземпляров MySQL в командной строке Windows

Процедура ручного запуска одного сервера MySQL из командной строки описана в разделе 2.3.4.6 «Запуск MySQL из командной строки Windows». Для запуска нескольких серверов таким образом, вы можете указать соответствующие параметры в командной строке или в файле параметров. Более удобно размещать параметры в файле параметров, но необходимо убедиться, что каждый сервер получает свой набор параметров. Для этого создайте файл параметров для каждого сервера и укажите имя файла с параметром --defaults-file при запуске.

Предположим, что вы хотите запустить один экземпляр mysqld на порту 3307 с каталогом данных C:\mydata1, и другой экземпляр на порту 3308 с каталогом данных C:\mydata2. Используйте следующую процедуру:

  1. Убедитесь, что каждый каталог данных существует, включая свою копию базы данных mysql, содержащей таблицы разрешений.

  2. Создайте два файла параметров. Например, создайте файл с именем C:\my-opts1.cnf, который выглядит следующим образом:

    [mysqld]
    datadir = C:/mydata1
    port = 3307
    

    Создайте второй файл с именем C:\my-opts2.cnf, который выглядит следующим образом:

    [mysqld]
    datadir = C:/mydata2
    port = 3308
    
  3. Используйте параметр --defaults-file для запуска каждого сервера со своим файлом параметров:

    C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts1.cnf
    C:\> 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.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/multiple-windows-command-line-servers.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API