W tym artykule pokażę Ci, jak uruchomić wiele instancji serwera bazy danych Mariadb na tym samym komputerze/serwerze z Ubuntu 20.04 LTS System operacyjny. Więc zacznijmy.
Instalowanie serwera bazy danych MariaDB:
Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:
Aktualizacja $ sudo apt
Możesz zainstalować serwer bazy danych Mariadb za pomocą następującego polecenia:
$ sudo apt Zainstaluj mariadb-client Mariadb-server
Aby potwierdzić instalację, naciśnij Y a następnie naciśnij .
MARIADB jest instalowany. Ukończenie może potrwać trochę czasu.
W tym momencie należy zainstalować Mariadb.
Zatrzymanie usługi bazy danych MariaDB:
Możesz sprawdzić, czy Mysql Usługa bazy danych działa z następującym poleceniem:
$ sudo SystemCtl Status mysql
Mysql Usługa bazy danych powinna działać domyślnie, jak widać na zrzucie ekranu poniżej.
Ponieważ chcemy uruchamiać wiele instancji oprogramowania serwera bazy danych Mariadb, nie potrzebujemy domyślnego Mysql Usługa systemu do uruchomienia. Będziemy uruchomić instancje bazy danych Mariadb ręcznie.
Więc zatrzymaj Mysql Usługa bazy danych z następującym poleceniem:
$ sudo systemctl stop Mysql
Mysql Usługa bazy danych powinna zostać zatrzymana.
$ sudo SystemCtl Status mysql
Chcemy również usunąć Mysql Usługa bazy danych z uruchamiania systemu Ubuntu 20.04 LTS. Aby nie zaczynać się automatycznie przy rozruchu.
Aby usunąć Mysql Usługa z uruchamiania systemu uruchom następujące polecenie:
$ sudo systemctl wyłącz mysql
Konfigurowanie MariaDB do uruchamiania wielu instancji bazy danych:
Wszystkie pliki konfiguracyjne bazy danych Mariadb są w /etc/mysql/mariadb.conf.D/ informator.
Aby ułatwić pracę z plikami konfiguracyjnymi MarIADB, przejdź do /etc/mysql/mariadb.conf.D/ katalog w następujący sposób:
$ cd/etc/mysql/mariadb.conf.D/
Nie potrzebujemy domyślnego pliku konfiguracyjnego Mariadb 50-serwer.CNF plik.
Aby upewnić się, że ten plik konfiguracyjny nie jest odczytany przez serwer MARIADB, zmień nazwę głównego pliku konfiguracyjnego MariaDB 50-serwer.CNF Do 50-serwer.CNF.kopia zapasowa Z następującym poleceniem:
$ sudo mv -v 50 -serwer.CNF 50-serwer.CNF.kopia zapasowa
Utwórz nowy plik konfiguracyjny MariaDB 50-serwer-Multi.CNF Z następującym poleceniem:
$ sudo nano 50-server-multi.CNF
Wpisz w następujących wierszach w 50-serwer-Multi.CNF plik.
[mysqld_multi]
mysqld =/usr/bin/mysqld_safe
mysqladmin =/usr/bin/mysqladmin
log =/var/log/mysql/mysqld_multi.dziennik
User = multi_admin
hasło = sekret
Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować 50-serwer-Multi.CNF plik.
Tutaj dzienniki serwera Mariadb będą przechowywane w pliku /var/log/mysql/mysqld_multi.dziennik.
mysqld_multi Nazwa użytkownika administratora będzie Multi_Admin i hasło będzie sekret. Jest to potrzebne do umożliwienia ZAMKNIĘCIE Zezwolenie na instancje serwera bazy danych Mariadb.
W tym artykule uruchomię 3 instancje bazy danych Mariadb dla demonstracji. Każda z instancji bazy danych MariaDB będzie miała własny plik konfiguracyjny.
Utwórz plik konfiguracyjny 50-server1.CNF dla pierwszej instalacji serwera bazy danych Mariadb w następujący sposób:
$ sudo nano 50-server1.CNF
Wpisz w następujących wierszach w 50-server1.CNF plik.
[mysqld1]
user = mysql
PID-plik =/run/mysqld/mysqld1.pid
Socket =/run/mysqld/mysqld1.skarpetka
oparty nar = /usr
dataDir =/var/lib/mysql1
tmpdir = /tmp
LC-Messages-Dir =/usr/share/mysql
Address z wiązaniem = 127.0.0.1
query_cache_size = 16m
log_error =/var/log/mysql/mysqld1_error.dziennik
expire_logs_days = 10
SET-SET-SERVER = UTF8MB4
Collation-Server = UTF8MB4_general_ci
Port = 20101
Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować 50-server1.CNF plik.
Tutaj, Mysqld1 to nazwa instancji. W drugim przypadku będzie to Mysqld2 i tak dalej.
Ścieżka do pliku PID będzie /run/mysqld/mysqld1.pid i plik gniazda będzie /run/mysqld/mysqld1.skarpetka dla Mysqld1 instancja. Będą one inne dla każdego z instancji MariaDB.
Katalog danych dla Mysqld1 wystąpienie będzie /var/lib/mysql1. Będzie inaczej dla każdego z instancji Mariadb.
Ścieżka pliku dziennika błędu dla Mysqld1 wystąpienie będzie /var/log/mysql/mysqld1_error.dziennik. Będzie inaczej dla każdego z instancji Mariadb.
Port Mysqld1 wystąpienie będzie 20101. Będzie inaczej dla każdego z instancji Mariadb.
Plik konfiguracyjny dla drugiego i trzeciego instancji MariaDB będzie podobny do pierwszej instancji Mariadb. Możemy więc po prostu skopiować pierwszy plik konfiguracji instancji Mariadb 50-server1.CNF i dokonaj niewielkich korekt.
Skopiuj 50-server1.CNF Aby utworzyć nowy plik konfiguracyjny 50-server2.CNF dla drugiego instancji Mariadb w następujący sposób:
$ sudo cp -v 50 -server1.CNF 50-SERVER2.CNF
W ten sam sposób skopiuj 50-server1.CNF Aby utworzyć nowy plik konfiguracyjny 50-server3.CNF dla trzeciego instancji Mariadb w następujący sposób:
$ sudo cp -v 50 -server1.CNF 50-SERVER2.CNF
Aby dokonać korekty plik konfiguracji instancji instancji serwera Mariadb 50-server2.CNF, Otwórz to z Nano Edytor tekstu w następujący sposób:
$ sudo nano 50-server2.CNF
Dostosuj oznaczone sekcje pliku konfiguracyjnego 50-server2.CNF.
Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować 50-server2.CNF plik.
Aby dostosować trzeci plik konfiguracyjny instancji Instancji Serwera Mariadb 50-server3.CNF, Otwórz to z Nano Edytor tekstu w następujący sposób:
$ sudo nano 50-server3.CNF
Dostosuj oznaczone sekcje pliku konfiguracyjnego 50-server3.CNF.
Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować 50-server3.CNF plik.
Tworzenie plików dziennika MariaDB:
Utwórz plik dziennika mysqld_multi.dziennik w /var/log/mysql/ katalog dla mysqld_multi program w następujący sposób:
$ sudo touch/var/log/mysql/mysqld_multi.dziennik
Ustaw właściciel (na Mysql) i grupa (do adm) mysqld_multi.dziennik Plik z następującym poleceniem:
$ sudo chown -v mysql: adm/var/log/mysql/mysqld_multi.dziennik
Ustaw prawidłowe uprawnienia do pliku na mysqld_multi.dziennik Plik z następującym poleceniem:
$ sudo chmod -v u = rw, g = rw, o =/var/log/mysql/mysqld_multi.dziennik
Utwórz pliki dziennika błędów dla Mysqld1, Mysqld2, I Mysqld3 Instancje Mariadb z następującym poleceniem:
$ sudo touch/var/log/mysql/mysqld 1… 3 _error.dziennik
Zmienić właściciela (na Mysql) i grupa (do adm) plików dziennika błędów Mysqld1, Mysqld2, I Mysqld3 Instancje Mariadb z następującym poleceniem:
$ sudo chown -v mysql: adm/var/log/mysql/mysqld 1… 3 _error.dziennik
Ustaw prawidłowe uprawnienia pliku na pliki dziennika błędów Mysqld1, Mysqld2, I Mysqld3 Instancje Mariadb z następującym poleceniem:
$ sudo chmod -v u = rw, g = rw, o =/var/log/mysql/mysqld 1… 3 _error.dziennik
Tworzenie i przygotowanie katalogów danych MariaDB:
Utwórz katalogi danych mariadb dla Mysqld1, Mysqld2, i Mysqld3 Instancje Mariadb z następującym poleceniem:
$ sudo mkdir -v/var/lib/mysql 1… 3
Zmień właściciela i grupę każdego z katalogów danych na Mysql Z następującym poleceniem:
$ sudo chown -v mysql: mysql/var/lib/mysql 1… 3
Ustaw prawidłowe uprawnienia do każdego z katalogów danych za pomocą następującego polecenia:
$ sudo chmod -v u = rwx, g = rx, o = rx/var/lib/mysql 1… 3
Po prawidłowym ustawianiu uprawnienia właściciela, grupy i plików wszystkie katalogi danych MariaDB powinny wyglądać jak pokazano na zrzucie ekranu poniżej:
$ ls -lhd/var/lib/mysql*
Teraz musisz przygotować katalogi danych Mariadb. Aby to zrobić, możesz użyć mysql_install_db Komenda.
Aby przygotować katalog danych MariaDB /var/lib/mysql1 dla Mysqld1 Instancja, uruchom następujące polecenie:
$ sudo mysql_install_db --user = mysql - -datadir =/var/lib/mysql1
Katalog danych /var/lib/mysql1 powinien być gotowy na Mysqld1 instancja.
W ten sam sposób przygotuj katalog danych MariaDB /var/lib/mysql2 dla Mysqld2 Instancja z następującym poleceniem:
$ sudo mysql_install_db --user = mysql - -datadir =/var/lib/mysql2
Katalog danych /var/lib/mysql2 powinien być gotowy na Mysqld2 instancja.
Przygotuj także katalog danych MariaDB /var/lib/mysql3 dla Mysqld3 Instancja z następującym poleceniem:
$ sudo mysql_install_db --user = mysql - -datadir =/var/lib/mysql3
Katalog danych /var/lib/mysql3 powinien być gotowy na Mysqld3 instancja.
Uruchamianie wielu instancji MariaDB:
Teraz możesz uruchomić wiele instancji Mariadb za pomocą mysqld_multi program.
Możesz sprawdzić, czy instancje Mariadb Mysqld1, Mysqld2, I Mysqld3 działa z następującym poleceniem:
Raport $ sudo mysqld_multi
Jak widać, instancje Mariadb nie działają w tej chwili.
Możesz uruchomić wszystkie instancje serwera bazy danych Mariadb za pomocą następującego polecenia:
$ sudo mysqld_multi start
Jak widać, instancje serwera bazy danych Mariadb Mysqld1, Mysqld2, I Mysqld3 biegną.
Raport $ sudo mysqld_multi
Jak widać, porty bazy danych Mariadb 20101 (Do Mysqld1), 20102 (Do Mysqld2), I 20103 (Do Mysqld3) Słuchają. Tak więc instancje bazy danych Mariadb działają idealnie.
Przyznanie pozwolenia na wyłączenie instancji bazy danych MariaDB:
mysqld_multi musi mieć ZAMKNIĘCIE pozwolenie na powstrzymanie instancji bazy danych Mariadb. Udzielić pozwolenia na zamknięcie mysqld_multi, Musisz zalogować się do każdej z instancji bazy danych Mariadb, utworzyć Multi_Admin użytkownik (z hasłem logowania sekret) i przyznać ZAMKNIĘCIE pozwolenie na Multi_Admin użytkownik.
Najpierw zaloguj się do pierwszej instancji serwera bazy danych Mariadb Mysqld1 Z następującym poleceniem:
$ sudo mysql -s/run/mysqld/mysqld1.Sock -u Root
Powinieneś zostać zalogowany.
Aby utworzyć nowego użytkownika Multi_Admin z hasłem sekret i daj ZAMKNIĘCIE pozwolenie na Multi_Admin Użytkownik, uruchom następującą instrukcję SQL:
Mariadb [(brak)]> Zamknięcie dotacji na *.* Do „multi_admin”@„localhost” zidentyfikowane przez „Secret”;
Wyjdź z konsoli bazy danych MariaDB z następującym poleceniem:
Mariadb [(none)]> wyjście
W ten sam sposób zaloguj się do drugiej instancji serwera bazy danych Mariadb Mysqld2 Z następującym poleceniem:
$ sudo mysql -s/run/mysqld/mysqld2.Sock -u Root
Utwórz nowego użytkownika Multi_Admin z hasłem sekret i daj ZAMKNIĘCIE pozwolenie na Multi_Admin Użytkownik z następującą instrukcją SQL:
Mariadb [(brak)]> Zamknięcie dotacji na *.* Do „multi_admin”@„localhost” zidentyfikowane przez „Secret”;
Wyjdź z konsoli bazy danych MariaDB z następującym poleceniem:
Mariadb [(none)]> wyjście
Zaloguj się także do trzeciej instancji serwera bazy danych Mariadb Mysqld3 Z następującym poleceniem:
$ sudo mysql -s/run/mysqld/mysqld3.Sock -u Root
Utwórz nowego użytkownika Multi_Admin z hasłem sekret i daj ZAMKNIĘCIE pozwolenie na Multi_Admin Użytkownik z następującą instrukcją SQL:
Mariadb [(brak)]> Zamknięcie dotacji na *.* Do „multi_admin”@„localhost” zidentyfikowane przez „Secret”;
Wyjdź z konsoli bazy danych MariaDB z następującym poleceniem:
Mariadb [(none)]> wyjście
Zobaczmy, czy mysqld_multi może zatrzymać instancje serwera bazy danych Mariadb.
Jak widać, uruchomi się instancje serwera bazy danych Mariadb.
Raport $ sudo mysqld_multi
Aby zatrzymać instancje serwera bazy danych Mariadb, uruchom następujące polecenie:
$ sudo mysqld_multi stop
Jak widać, instancje serwera bazy danych Mariadb już nie działają.
Raport $ sudo mysqld_multi
Porty serwera bazy danych Mariadb 20101 (Do Mysqld1), 20102 (Do Mysqld2), I 20103 (Do Mysqld3) Nie słuchają też.
Uruchamianie instancji serwera bazy danych Mariadb w rozruchu systemowym:
Nie chcesz uruchamiać instancji serwera bazy danych Mariadb. Aby automatycznie uruchomić instancje serwera bazy danych Mariadb, możesz dodać polecenie początkowe jako cronjob.
Aby dodać dowolny cronjob, musisz zmodyfikować plik crontab.
Aby zmodyfikować plik crontab, uruchom następujące polecenie:
$ sudo crontab -e
Naciskać 1 (Aby wybrać edytor tekstu Nano), a następnie naciśnij .
Plik crontab powinien zostać otwarty. Dodaj linię oznaczoną na zrzucie ekranu poniżej.
Po zakończeniu naciśnij + X śledzony przez Y I Aby zapisać plik crontab.
Aby zmiany zaczęły się uruchomić, ponownie uruchom komputer za pomocą następującego polecenia:
$ sudo restart
Po uruchamianiu komputera powinieneś zobaczyć, że wszystkie instancje bazy danych Mariadb są uruchomione.
Raport $ sudo mysqld_multi
Jak widać, porty bazy danych Mariadb 20101 (Do Mysqld1), 20102 (Do Mysqld2), I 20103 (Do Mysqld3) Słuchają. Tak więc instancje bazy danych Mariadb działają idealnie.
Wniosek:
W tym artykule pokazałem, jak uruchomić wiele instancji serwera bazy danych MariaDB na tym samym komputerze/serwerze za pomocą mysqld_multi program. Ten artykuł powinien pomóc w skonfigurowaniu wielu wystąpień serwera bazy danych Mariadb na tym samym Ubuntu 20.04 LTS komputer/serwer.