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 mysqld1C:\>C:\mysql-9.2.0\bin\mysqld --install mysqld2Для запуска служб воспользуйтесь диспетчером служб или командами NET START или SC START с соответствующими именами служб:
C:\>
SC START mysqld1C:\>SC START mysqld2Для остановки служб воспользуйтесь диспетчером служб или командами NET STOP или SC STOP с соответствующими именами служб:
C:\>
SC STOP mysqld1C:\>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.cnfC:\>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.