Spec-Zone.ru › MySQL 9.2

7.8.2.2 Запуск нескольких экземпляров MySQL в качестве служб Windows

В Windows сервер MySQL может работать в качестве службы Windows. Процедуры установки, управления и удаления одной службы MySQL описаны в разделе 2.3.3.8 «Запуск MySQL в качестве службы Windows».

Для настройки нескольких служб MySQL необходимо убедиться, что каждый экземпляр использует уникальное имя службы помимо других параметров, которые также должны быть уникальными для каждого экземпляра.

В следующих инструкциях предположим, что вы хотите запустить сервер mysqld из двух разных версий MySQL, установленных соответственно в C:\mysql-5.7.9 и C:\mysql-9.2.0. (Это может потребоваться, если вы используете 5.7.9 в качестве производственного сервера, но также хотите проводить тесты с помощью 9.2.0.)

Для установки MySQL в качестве службы Windows используйте параметр --install или --install-manual. Сведения об этих параметрах см. в разделе 2.3.3.8 «Запуск MySQL в качестве службы Windows».

Исходя из предыдущей информации, у вас есть несколько способов настройки нескольких служб. Следующие инструкции описывают некоторые примеры. Перед выполнением любых из них остановите и удалите все существующие службы MySQL.

  • Способ 1: Укажите параметры для всех служб в одном из стандартных файлов параметров. Для этого используйте разные имена служб для каждого сервера. Предположим, что вы хотите запустить 5.7.9 mysqld с именем службы mysqld1 и 9.2.0 mysqld с именем службы mysqld2. В этом случае можно использовать группу [mysqld1] для 5.7.9 и группу [mysqld2] для 9.2.0. Например, можно настроить C:\my.cnf следующим образом:

    # options for mysqld1 service
    [mysqld1]
    basedir = C:/mysql-5.7.9
    port = 3307
    enable-named-pipe
    socket = mypipe1
    
    # options for mysqld2 service
    [mysqld2]
    basedir = C:/mysql-9.2.0
    port = 3308
    enable-named-pipe
    socket = mypipe2
    

    Установите службы следующим образом, используя полные имена путей к серверу, чтобы убедиться, что Windows регистрирует правильную исполняемую программу для каждой службы:

    C:\> C:\mysql-5.7.9\bin\mysqld --install mysqld1
    C:\> C:\mysql-9.2.0\bin\mysqld --install mysqld2
    

    Для запуска служб воспользуйтесь диспетчером служб или командами NET START или SC START с соответствующими именами служб:

    C:\> SC START mysqld1
    C:\> SC START mysqld2
    

    Для остановки служб воспользуйтесь диспетчером служб или командами NET STOP или SC STOP с соответствующими именами служб:

    C:\> SC STOP mysqld1
    C:\> SC STOP mysqld2
    
  • Способ 2: Укажите параметры для каждого сервера в отдельных файлах и используйте --defaults-file при установке служб, чтобы указать каждому серверу, какой файл использовать. В этом случае каждый файл должен перечислять параметры, используя группу [mysqld].

    С этим подходом для указания параметров 5.7.9 mysqld создайте файл C:\my-opts1.cnf, который будет выглядеть так:

    [mysqld]
    basedir = C:/mysql-5.7.9
    port = 3307
    enable-named-pipe
    socket = mypipe1
    

    Для 9.2.0 mysqld создайте файл C:\my-opts2.cnf, который будет выглядеть так:

    [mysqld]
    basedir = C:/mysql-9.2.0
    port = 3308
    enable-named-pipe
    socket = mypipe2
    

    Установите службы следующим образом (введите каждую команду в отдельной строке):

    C:\> C:\mysql-5.7.9\bin\mysqld --install mysqld1
               --defaults-file=C:\my-opts1.cnf
    C:\> C:\mysql-9.2.0\bin\mysqld --install mysqld2
               --defaults-file=C:\my-opts2.cnf
    

    При установке сервера MySQL в качестве службы и использовании параметра --defaults-file, имя службы должно предшествовать параметру.

    После установки служб запустите и остановите их так же, как и в предыдущем примере.

Для удаления нескольких служб используйте SC DELETE mysqld_service_name для каждой из них. В качестве альтернативы, используйте mysqld --remove для каждой из них, указав имя службы после параметра --remove. Если имя службы является стандартным (MySQL), вы можете опустить его при использовании mysqld --remove.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/multiple-windows-services.html

Spec-Zone.ru

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