Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uruchomić wiele instancji MySQL na tym samym komputerze?

Czasami może być konieczne uruchomienie wielu instancji MySQL na jednym serwerze. Na przykład może być konieczne przetestowanie różnych instancji MySQL w celu przygotowania, testowania i produkcji. W tym artykule przyjrzymy się, jak uruchomić wiele instancji MySQL na tej samej maszynie, ale na różnych portach, z różnymi plikami dziennika i parametrami konfiguracyjnymi.


Jak uruchomić wiele instancji MySQL na tym samym komputerze

Oto kroki, aby uruchomić wiele instancji MySQL na tym samym komputerze.


1. Otwórz plik konfiguracyjny MySQL

Zazwyczaj plik konfiguracyjny MySQL znajduje się pod adresem /etc/mysql/my.cnf . Otwórz terminal i uruchom następujące polecenie, aby otworzyć plik konfiguracyjny MySQL.

$ sudo vi /etc/mysql/my.cnf


2. Skonfiguruj wiele instancji MySQL

Znajdziesz domyślną konfigurację MySQL podobną do pokazanej poniżej.

[mysqld] 
user = mysql 
pid-file = /var/run/mysqld/mysqld.pid 
socket = /var/run/mysqld/mysqld.sock 
port = 3306 
datadir = /data/mysql/mysql

Skopiuj + wklej powyższy blok kodu poniżej w tym samym pliku. Zastąp [mysqld] z [mysqld1] i zmień wartość portu na 3307. Spowoduje to, że nowa instancja mysqld1 uruchomić na innym porcie 3307 z inną nazwą procesu mysqld1. Podobnie zmień nazwy plików zmiennych pid-file, socket i datadir, jak pokazano poniżej.

Upewnij się, że skopiuj folder datadir dla każdej poniższej instancji. Upewnij się również, że użytkownik mysql użytkownik ma do niego uprawnienia dostępu. Każda instancja potrzebuje własnego katalogu danych.

[mysqld1] 
user = mysql 
pid-file = /var/run/mysqld/mysqld1.pid 
socket = /var/run/mysqld/mysqld1.sock 
port = 3307 
datadir = /data/mysql/mysql1

Teraz mysqld1 będzie działać jako oddzielna instancja niż mysqld

Podobnie możesz utworzyć więcej instancji, jak pokazano poniżej

[mysqld2] 
user = mysql 
pid-file = /var/run/mysqld/mysqld2.pid 
socket = /var/run/mysqld/mysqld2.sock 
port = 3308 
datadir = /data/mysql/mysql2 
.... 
[mysqldN] 
user = mysql 
pid-file = /var/run/mysqld/mysqldN.pid 
socket = /var/run/mysqld/mysqldN.sock 
port = N 
datadir = /data/mysql/mysqlN

Upewnij się, że podasz inny plik pid, plik gniazda i katalog danych dla każdej instancji i upewnij się, że użytkownik mysql ma wymagane uprawnienia do katalogu, ponieważ mysql użytkownik powinien mieć możliwość tworzenia wymaganych plików i katalogów.


3. Zarządzaj wieloma instancjami

Każdą instancję możesz uruchomić osobno, używając mysqld polecenie poniżej. Zastąp mysqlN z wybraną przez Ciebie instancją (np. mysql1, mysql2, itp.)

mysqld --initialize --user=mysql --datadir=/home/mysql/mysqlN

Jeśli z jakiegoś powodu powyższa konfiguracja nie działa dla Ciebie, skopiuj plik my.cnf do /etc/my.cnf lokalizację i spróbuj ponownie. Czasami mysql nie rejestruje wielu instancji skonfigurowanych w /etc/mysql/my.cnf

$ sudo cp /etc/mysql/my.cnf /etc/my.cnf

Jeśli chcesz zalogować się do jakiejś konkretnej instancji (np. mysqld1) z wiersza poleceń, musisz określić jej lokalizację pliku gniazda za pomocą opcji -S. W przeciwnym razie zostaniesz zalogowany do domyślnej instancji MySQL.

mysql -u root -p -S /var/run/mysqld/mysqld1.sock

Mamy nadzieję, że ten artykuł pomoże Ci skonfigurować i zarządzać wieloma instancjami MySQL na tym samym serwerze.

Potrzebujesz narzędzia do raportowania dla MySQL? Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Typ MySQL ENUM a dołączanie tabel

  2. Jak zaimportować CSV do MySQL Workbench

  3. Jak działa funkcja LOAD_FILE() w MySQL

  4. Połączenie z Db umiera po>4<24 w hibernacji wiosennego rozruchu jpa

  5. Jak usunąć akcenty w MySQL?