Как установить и запустить несколько экземпляров MySQL в Windows 2012


12

Я только что установил MySQL 5.7 на Windows 2012 VM. Я пытаюсь создать и запустить несколько экземпляров, но очень расстроен, что такая простая вещь не работает.

Я установил MySQL в C: \ Program Files \ MySQL \ MySQL Server 5.7, который является местоположением по умолчанию, а затем скопировал папку и сделал еще одну ее копию для создания другого экземпляра (полагаю, так оно и есть?)

Оба экземпляра MySQL показаны на рисунке ниже.

Сервер1 Сервер1

Сервер2
Сервер2

Настройки INI для обоих серверов приведены ниже:

Сервер1

идентификатор сервера = 1
log-bin = "mysql-bin"
binlog-ignore-db = тест
binlog-ignore-db = information_schema
replicate-ignore-db = тест
replicate-ignore-db = information_schema
relay-log = "mysql-relay -log "
auto-increment-increment = 2
auto-increment-offset = 1

Server2
идентификатор сервера = 2
log-bin = "mysql-bin"
binlog-ignore-db = тест
binlog-ignore-db = information_schema
replicate-ignore-db = тест
replicate-ignore-db = information_schema
relay-log = "mysql- релейный журнал "
авто-увеличение-увеличение = 2
авто-увеличение-смещение = 2

Я запускаю оба сервера, открыв командную строку и введя следующее:
"C: \ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqld"
"C: \ Program Files \ MySQL \ MySQL Server 5.7 - 2 \ bin \ mysqld"

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

Что я делаю неправильно?


Пожалуйста, отредактируйте свой вопрос, включив в него журналы ошибок и т. Д.
EEAA

Вопрос решен.
Фрэнк Мартин

Хотите, чтобы я открыл вопрос, чтобы вы могли опубликовать ответ?
EEAA

Да, поэтому я могу опубликовать ответ.
Фрэнк Мартин

Ответы:


11

Я полагаю, вы пытались запустить их на одном и том же порту.

Изменили номера портов, чтобы они стали другими


11

Ошибка, которую я делал, состояла в том, чтобы скопировать всю папку установки MySQL. Вам не нужно копировать эту папку.

  • Просто создайте новый INI-файл для каждого экземпляра, который вы хотите запустить (примеры приведены выше) в любом месте, например, C: \ MyInstances \ my1.ini.
  • Затем создайте новую папку, например, data1 в C: \ MyInstances \ data1, и скопируйте в нее базы данных mysql и information_schema . Вы получите эти базы данных из папки данных, где установлен MySQL. В Windows 2012 (и, возможно, в других серверных ОС) это обычно C: \ ProgramData \ MySQL
  • Затем определите следующее в вашем INI-файле.

каталогу_данный = C: / MyInstances / data1

  1. Затем выполните следующую команду, которая установит MySQL как службу. После создания сервисов просто запустите сервис.

MySqlpath \ bin \ mysqld --install mysqld1 --defaults-file = PATH_TO_YOUR_INI_FILE

Конечно, в каждом INI-файле вы должны определить другой номер порта, как упомянуто @Anthony Fornito.


11
  1. Создайте отдельную папку данных и дайте ПОЛНЫЙ КОНТРОЛЬ СЕТЕВОМУ СЕРВИСУ.
  2. Скопируйте файл my.ini в новую папку данных.
  3. Создайте новый файл в каталоге данных с именем mysql-init.txt и добавьте одну строку, чтобы убедиться, что установлен пароль пользователя root.

    • ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]';
  4. Отредактируйте файл my.ini, изменив имя порта, сокета, каталога данных и базы общей памяти. Все из которых должны отличаться от других экземпляров MySQL.

my.ini:

[client]
port=3333
socket=MYSQL2_INST.SOCK
shared-memory-base-name=MYSQL2_INST

[mysqld]
shared-memory-base-name=MYSQL2_INST
socket=MYSQL2_INST.SOCK
port=3333
basedir="C:/Program Files/MySQL/MySQL Server 5.7"
datadir="E:/MySQL2/Data"
  1. В командной строке перейдите к ~ \ MySQL Server XY \ bin \ и запустите

    • mysqld --install MySQL57-2 --defaults-file=E:\mysql2\data\my.ini --init-file=E:\mysql2\data\mysql-init.txt
  2. Запустить сервис

    • NET START MySQL57-2
  3. Убедитесь, что служба успешно запущена. Если этого не произошло, вы можете найти журнал ошибок в папке с данными, иначе вам будет хорошо.


последовал за ним, но не смог запустить получение новой службы, PS C: \ MySQLInstances \ data> net start mysqld Служба mysqld запускается. Служба mysqld не может быть запущена. Служба не сообщила об ошибке. Дополнительную помощь можно получить, набрав NET HELPMSG 3534.
Rajat
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.