Як встановити та запустити кілька екземплярів 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

server-id = 1
log-bin = "mysql-bin"
binlog-ignore-db = тест
binlog-ignore-db = information_schema
replicate-ignore-db = тестова
копія-ignore-db = information_schema
relay-log = "mysql-relay -log "
автоматичне збільшення-збільшення = 2
автоматичне збільшення-зміщення = 1

Server2
server-id = 2
log-bin = "mysql-bin"
binlog-ignore-db = тест
binlog-ignore-db = information_schema
replicate-ignore-db = test
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

Питання вирішено.
Френк Мартін

Ви хочете, щоб я відкрив питання, щоб ви могли залишити відповідь?
ЄЕАА

Так, я можу розмістити відповідь.
Френк Мартін

Відповіді:


11

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

Що змінило номери портів, щоб вони були різними - це змусило його працювати


11

Помилкою, яку я робив, було скопіювати всю папку установки MySQL. Вам не потрібно копіювати цю папку.

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

datadir = C: / MyInsances / data1

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

MySqlpath \ bin \ mysqld --встановити mysqld1 --defaults-file = PATH_TO_YOUR_INI_FILE

Звичайно, у кожному файлі ini ви повинні визначити інший номер порту, як згадував @Anthony Fornito.


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

    • ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]';
  4. Відредагуйте файл my.ini, змінивши ім'я порту, сокета, datadir та бази даних загальної пам'яті. Усі вони повинні відрізнятися від інших екземплярів 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: \ MySQLInsances \ data> net start mysqld Служба mysqld запускається. Не вдалося запустити службу mysqld. Служба не повідомила про помилку. Додаткову допомогу можна отримати, набравши NET HELPMSG 3534.
Rajat
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.