MySQL Cluster je technologie, která poskytuje vysokou dostupnost databází MySQL. Jako databázové úložiště používá NDB (Network DataBase) nebo NDBCLUSTER. MySQL Cluster je navržen jako multimaster ACID architektura bez jediného bodu selhání, používá automatické sharding (rozdělení na oddíly) k škálování procesů čtení a zápisu.
K implementaci clusteru MySQL potřebujeme 3 různé typy uzlů:
- Uzel správy (ndb_mgmd )
- Slouží k monitorování a konfiguraci clusteru.
- Datový uzel (ndbd )
- Tyto uzly se používají k ukládání dat, které poskytují automatické sdílení a mohou zpracovávat replikaci.
- Uzel SQL (mysqld )
- Rozhraní serveru MySQL pro připojení ke všem uzlům.
V tomto tutoriálu vám ukážu, jak nainstalovat 'MySQL Cluster' na Ubuntu 16.04 LTS (Xenial Xerus).
Předpoklady
- 4 uzly se serverem Ubuntu 16.04
- 192.168.1.11 uzel správy
- 192.168.1.12 datový uzel1
- 192.168.1.13 datový uzel2
- 192.168.1.14 sql-node
- Kořenová oprávnění na uzlech.
Krok 1 – Instalace a konfigurace Management Node
V tomto kroku nainstalujeme management uzel pro náš cluster s IP adresou 192.168.1.11. Nainstalujeme software clusteru MySQL a nakonfigurujeme jej jako uzel pro správu clusteru.
Přihlaste se do řídicího uzlu pomocí ssh:
ssh [chráněno e-mailem]
ZADEJTE HESLO
A. Nainstalujte MySQL Cluster Management Node
Zde otevřete web clusteru MySQL a vyberte možnost 'Linux-generic “ a stáhněte si 64bitový balíček kliknutím na tlačítko „Stáhnout '.
Stáhněte si balíček clusteru MySQL pomocí wget a rozbalte jej.
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
Přejmenujte adresář na mysql:
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/
Přejděte do adresáře mysql a zkopírujte 2 binární soubory pro příkaz správy clusteru 'ndb_mgmd a ndb_mgm ' do adresáře '/usr/local/bin/' a poté je nastavte jako spustitelné pomocí příkazu chmod.
cd ~/mysql/
cp bin/ndb_mgm* /usr/local/bin/
chmod +x /usr/local/bin/ndb_mgm*
B. Nakonfigurujte MySQL Cluster Management Node
Nakonfigurujte uzel správy vytvořením nového adresáře 'mysql-cluster' pro konfigurační soubory v adresáři '/var/lib/'.
Vytvořte adresář 'mysql-cluster' a vytvořte novou konfiguraci 'config.ini' v adresáři:
mkdir -p /var/lib/mysql-cluster/
vim /var/lib/mysql-cluster/config.ini
Vložte konfiguraci níže:
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[mysqld default]
[ndb_mgmd výchozí]
[tcp default]
# Cluster Control / Management uzel
[ndb_mgmd]
hostname=192.168.1.11
# Datový uzel 1
[ndbd]
hostname=192.168.1.12
DataDir=/var/lib/mysql-cluster
# Datový uzel 1
[ndbd]
HostName=192.168.1.13
DataDir=/var/lib/mysql-cluster
# SQL Node
[mysqld]
hostname=192.168.1.14
# Pokud chcete přidat nový uzel SQL
[mysqld]
Změňte IP adresu ndb_mgmd pro správu, ndbd pro datový uzel a mysqld pro sql uzel tak, aby odpovídala vašemu nastavení.
Uložte soubor a ukončete.
Dále spusťte proces uzlu správy pomocí příkazu níže:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
Zajistěte, aby se spouštěl při bootování přidáním příkazu do '/etc/rc.local ' soubor:
echo 'ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/'>> /etc/rc.local
Pokud vidíte výsledky:
MySQL Cluster Management Server mysql-5.6.31 ndb-7.4.12
Poté je spuštěn proces řídícího uzlu.
Zkontrolujte řídicí uzel dalším příkazem:
# Kontrola portu 1186 používaného ndb_mgmd
netstat -plntu
# Kontrola připravenosti řídicího uzlu
ndb_mgm
zobrazit
Krok 2 – Instalace a konfigurace datového uzlu
V tomto kroku nainstalujeme software clusteru MySQL a nakonfigurujeme jej jako datový uzel. Jako datové uzly použijeme 2 servery ubuntu 16.04:data-node1 s IP adresou 192.168.1.12 a data-node2 s IP adresou 192.168.1.13.
Přihlaste se k serveru data-node1 pomocí ssh:
ssh [e-mail chráněný]
A. Nainstalujte MySQL Cluster na datový uzel
Než nainstalujeme software clusteru MySQL, musíme nainstalovat nový balíček 'libaio1 a vytvořte nového uživatele a skupinu mysql . Spusťte níže uvedený příkaz jako root:
apt-get install libaio1
groupadd mysql
useradd -g mysql mysql
Nyní si stáhněte balíček clusteru MySQL 'Linux-Generic ', rozbalte a přejmenujte adresář na mysql.
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/Přesuňte adresář 'mysql' do '/usr/local /' a přejděte do tohoto adresáře.
mv mysql /usr/local/
cd /usr/local/mysql/Spusťte skript pro vytvoření systémových databází:
./scripts/mysql_install_db --user=mysqlPokud nedojde k žádné chybě, zkopírujte soubor služby mysql do '/etc/init.d ' a přidejte spouštěcí skript mysql, který se spustí při spouštění.
cp support-files/mysql.server /etc/init.d/mysql
systemctl povolit mysqlDále přesuňte všechny binární příkazy mysql do '/usr/local/bin ' a vytvořte nový symbolický odkaz.
mv bin/* /usr/local/bin/
rm -rf bin/
ln -s /usr/local/bin /usr/local/mysql/Změňte vlastníka adresáře mysql na uživatele root a group mysql a změňte datový adresář na mysql jako vlastníka.
chown -R root:mysql .
chown -R data mysqlB. Konfigurace datového uzlu clusteru MySQL
Vytvořte nový konfigurační soubor mysql 'my.cnf ' s vim:
vim /etc/my.cnfVložte konfiguraci níže:
# MySQL Config
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
# Spustit ndb storage engine
ndbcluster
# uzel pro správu IP adres
ndb-connectstring=192.168.1.11
[mysql_cluster]
# Uzel správy IP adres
ndb-connectstring=192.168.1.11
# MySQL Pid and Log
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pidUložte a ukončete.
Vytvořte nový adresář pro datový uzel a změňte vlastnictví na uživatele mysql.
mkdir -p /var/lib/mysql-cluster/
chown -R mysql /var/lib/mysql-clusterC. Spusťte MySQL na datovém uzlu
Spusťte službu mysql pomocí příkazu níže:
ndbd --initial
systemctl start mysqlUjistěte se, že nedošlo k žádné chybě a že výsledky jsou níže (data-node2):
MySQL na datovém uzlu je spuštěno. Nyní můžete nakonfigurovat heslo MySQL pomocí příkazu:
mysql_secure_installationnebo přístup k prostředí MySQL.
mysql -u root -pPOZNÁMKA :
Zopakujte tento krok na 'data-node2 IP adresa serveru 192.168.1.13.
Krok 3 – Instalace a konfigurace SQL Node
V tomto kroku nainstalujeme software MySQL Cluster a nakonfigurujeme jej jako SQL Node. Tento uzel se používá pro přístup k databázím na datových uzlech. Proces instalace je stejný jako u datového uzlu, ale nemusíme spouštět službu ndbd v uzlu SQL.
Přihlaste se k uzlu SQL pomocí ssh:
ssh [e-mail chráněný]A. Nainstalujte MySQL Cluster na th SQL Node
Nainstalujte balíček libaio1 a vytvořte nového uživatele a skupinu mysql:
apt-get install libaio1
groupadd mysql
useradd -g mysql mysqlStáhněte si balíček clusteru mysql z webu, extrahujte jej a přejmenujte:
http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar - xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/Přesuňte adresář mysql:
mv mysql /usr/local/
cd /usr/local/mysql/Spusťte mysql_install_db skript:
./scripts/mysql_install_db --user=mysqlZkopírujte soubor služby a přidejte jej ke spuštění při spouštění:
cp support-files/mysql.server /etc/init.d/mysql
systemctl povolit mysqlPřesuňte všechny binární soubory mysql do '/usr/local/bin ' adresář:
mv bin/* /usr/local/bin/
rm -rf bin/
ln -s /usr/local/bin /usr/local/mysql/Změňte vlastníka všech souborů a adresáře:
chown -R root:mysql .
chown -R data mysqlB. Konfigurace MySQL Cluster SQL Node
Vytvořte novýmy.cnf konfigurační soubor s vim:
vim /etc/my.cnfVložte konfiguraci níže:
# MySQL Config
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
# Spustit ndb storage engine
ndbcluster
# uzel pro správu IP adres
ndb-connectstring=192.168.1.11
[mysql_cluster]
# Uzel správy IP adres
ndb-connectstring=192.168.1.11
# MySQL Pid and Log
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pidUložte a ukončete.
C. Spusťte uzel SQL
Spusťte uzel SQL spuštěním služby mysql pomocí příkazu systemctl:
systemctl start mysqlSQL Node je spuštěn, nyní můžete nakonfigurovat heslo pro MySQL.
mysql_secure_installation
Krok 4 – Testování
Otestujte vytvoření nové databáze z uzlu SQL.
mysql -u root -p
TYP HESLA
vytvořit databázi nanana;
Zkontrolujte, zda je databáze replikována na serverech datových uzlů.
A když je uzel vypnutý, o připojení z uzlu SQL se postará jiný uzel.mysql -u root -p
TYP HESLA
zobrazit databáze;
Kontrola stavu clusteru z uzlu správy:
ndb_mgm
zobrazit
Krok 5 – Další tipy
Provedení bezpečného restartu a vypnutí clusteru.
Přejděte do uzlu správy clusteru a zadejte příkaz níže pro vypnutí clusteru:
ndb_mgm
vypnutíPříkaz vypne všechny služby ndb na datových uzlech.
Pokud chcete cluster znovu spustit, můžete spustit příkaz níže v uzlu pro správu:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
A spusťte níže uvedený příkaz na všech datových uzlech:
ndbd
systemctl start mysqlPoté spusťte službu mysql na uzlech SQL:
systemctl start mysqlNyní váš MySQL Cluster opět běží.
Jak nainstalovat WordPress s Dockerem na Ubuntu Provádějte horké zálohy databází MySQL pomocí Percona XtraBackup na Ubuntu 16.04Ubuntu