GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat více serverů MySQL na jednom systému pomocí mysqld_multi

K nastavení více serverů na jednom systému stačí několik kroků. Nejprve bude nutné upravit konfigurační soubor pro MySQL. Pro každý server bude nutné zadat samostatnou skupinu voleb. Každý server by měl mít minimálně přiřazen jedinečný port TCP/IP a buď jiný soubor soketu.

Skupiny serverů pro více serverů v konfiguračním souboru jsou identifikovány předponou mysqld následovanou číselnou příponou. Například první server může být identifikován záhlavím skupiny jako [mysqld1], můžete začít 0 ​​nebo nějakým jiným číslem. Druhý server by mohl být [mysqld2]. Čísla sama o sobě nemusejí být sekvenční. Čísla mohou být přeskočena. Všechny možnosti, které mohou být poskytnuty pro skupinu [mysqld], mohou být poskytnuty jakémukoli dalšímu serveru. To vám umožní změnit volby serveru tak, aby splňovaly jakékoli speciální požadavky, které mohou být pro databázi potřeba. Níže je obsah z /etc/my.cnf soubor, který je nakonfigurován pro tři servery.

Poznámka :Je mimořádně důležité poznamenat, že každá instance by měla mít také svůj vlastní datadir. Každý server by měl mít minimálně přiřazen jedinečný port TCP/IP a/nebo jiný soubor soketu.
# vi /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/bin/mysqld_safe

[mysqld0]
port = 3306
socket = /tmp/mysql.sock0
pid-file = /usr/local/mysql/server0/
user = mysql0
datadir = /usr/local/mysql/server0

[mysqld1]
port = 3307
socket = /tmp/mysql.sock1
pid-file = /usr/local/mysql/server1/
user = mysql1
datadir = /usr/local/mysql/server1

[mysqld2]
port = 3308
socket = /tmp/mysql.sock2
pid-file = /usr/local/mysql/server2/
user = mysql2
datadir = /usr/local/mysql/server2

Nejprve si všimněte, že neexistuje žádná skupina označená [mysqld] . To by věci zamotalo. V tomto konfiguračním souboru používá každý server jiný port. To bude vyžadovat úpravy všech skriptů, které přistupují k serveru. Port bude nutné zadat tak, aby výchozí port (3306 ) se nepoužívá. První výše uvedený server používá výchozí port. V tomto příkladu je pro každý server pojmenován samostatný uživatel systému souborů. To není nutné. Může se však hodit pro lepší kontrolu zabezpečení. Bude to samozřejmě vyžadovat vytvoření každého uživatele systému na úrovni souborového systému.

Poslední možností nastavenou v každé skupině výše uvedeného konfiguračního souboru je datový adresář pro každý server. Servery nemohou sdílet stejný datový adresář. Proto to bude vyžadovat vytvoření samostatného adresáře v systému souborů. Nezapomeňte změnit vlastnictví datových adresářů na příslušného uživatele systému (např. mysql0).

Jakmile je konfigurační soubor správně nastaven, uživatelé systému vytvořeni a související adresáře jsou na místě, mohou být servery spuštěny. Chcete-li to snadno provést, použijte mysqld_multi skript. Tento skript načte konfigurační soubor MySQL a vyhledá skupiny serverů podle výše uvedené konvence pojmenování. Chcete-li spustit všechny servery, z příkazového řádku se zadá následující:

$ mysqld_multi start

Tento řádek spustí samostatnou instanci mysqld_safe pro každou skupinu serverů uvedenou v konfiguračním souboru. Mimochodem, chcete-li použít speciální konfigurační soubor pro mysqld_multi, stačí přidat „–config-file =file ” před parametrem start. Chcete-li zastavit všechny servery, nahraďte parametr spuštění parametrem stop. Pro zprávy o stavu serveru použijte parametr zprávy. Chcete-li spustit konkrétní server, uveďte za parametrem spuštění identifikační číslo serveru. Chcete-li například zastavit server označený [mysqld2] v konfiguračním souboru uvedeném výše, zadáte následující:

$ mysqld_multi stop 2

Předpona mysqld je vynechána. Rozsah serverů lze pojmenovat zadáním čísla prvního serveru, za ním následuje pomlčka a poté číslo posledního serveru (např. 2-5). Servery lze uvést jednotlivě tak, že jejich identifikátor oddělíte čárkami (např. 2, 4). A lze použít kombinaci obou metod (např. 2, 4-7).

Pro delší sadu příkladů, jak může být vytvořen konfigurační soubor, zadejte z příkazového řádku následující:

$ mysqld_multi --example


Linux
  1. Nakonfigurujte server MySQL na operačním systému Ubuntu

  2. Jak nakonfigurovat kdump v Oracle Enterprise Linux (OEL 5,6)

  3. Jak rozdělit jeden textový soubor do více souborů *.txt?

  1. Jak nakonfigurovat více webových stránek s webovým serverem Apache

  2. Jak porovnat váš systém (CPU, File IO, MySQL) pomocí Sysbench

  3. Jak gzipovat více souborů do jednoho souboru gz?

  1. Jak nastavit více SSL na jedné IP s Nginx

  2. Jak nakonfigurovat databázi MySQL Slave

  3. Jak nakonfigurovat samostatný Override.conf pro více instancí MySQL pomocí Systemd