MySQL InnoDB Cluster, který kombinuje technologie MySQL, aby vám umožnil nasadit a spravovat kompletní integrované řešení vysoké dostupnosti pro MySQL. Tento obsah je přehledem InnoDB Cluster na vysoké úrovni.
Cluster InnoDB se skládá z nejméně tří instancí serveru MySQL a poskytuje funkce s vysokou dostupností a škálováním. InnoDB Cluster používá následující technologie MySQL:
MySQL Shell, což je pokročilý klient a editor kódu pro MySQL.
MySQL Server a Group Replication, které umožňují sadě instancí MySQL poskytovat vysokou dostupnost. InnoDB Cluster poskytuje alternativní, snadno použitelný programový způsob práce se skupinovou replikací.
MySQL Router, lehký middleware, který poskytuje transparentní směrování mezi vaší aplikací a InnoDB Clusterem.
Níže je skript použitý ve videu
MySQL Shell
Server MySQL min 3 servery
Mysql Router jako loadbalancer
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum nainstalovat mysql-shell -y
Nainstalujte MysqlRouter pouze na aplikační server z yum repo.
yum install mysql-shell -y
požadavky na instalaci sudo mysqlsh –pym pip
sudo yum install mysql-router -y
mysqlsh –uri [email protected]
Not_so_secure1!
Not_so_secure1!
Udělejte to na všech instancích
dba.configureInstance()
poskytněte heslo
2
innodbcluster
Strong_Password1!
dba.checkInstanceConfiguration(‘[email protected]’)
\c [email protected]:3306
var mycls=dba.createCluster('MUGHEES_CLS')
mycls.describe()
mycls.status()
mycls.SetupRouterAccount( 'myrouter')
Na první Prmry:
mycls.addinstance(‘mysql2:3306’)
mycls.addinstance(‘mysql3:3306’)
Na serveru směrovače:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter
mysqlrouter –bootstrap [email protected] –user mysqlrouter
##############Servery:mysql1:####################
VYTVOŘIT UŽIVATELE ‚myadmin‘@‘%‘ IDENTIFIKOVANÉ PODLE ‚Strong_Password1!‘
Udělte všechna oprávnění na *.* myadmin‘@‘%‘ s možností udělení;
mysqlsh –uri [email protected]
\sql
vyberte @@název hostitele;
VYTVOŘIT DATABÁZI škola;POUŽÍVAT školu;
VYTVOŘIT TABULKU, pokud neexistuje schoool.student(stndid int primární klíč auto_increment,stdname varchar(100),phone int, classid int);
INSERT schoool.student(stdname,phone,classid) values('Aslam',123456977,7);
INSERT schoool.student(stdname,phone,classid) values('Mughees' ,123456977,8);
INSERT schoool.student(stdname,phone,classid) values('Ahmed',123456977,9);
VYBRAT * Z schoool.student;
vyberte @@hostname;
####################Servery:mysq12####################
mysqlsh [email protected]
\sql
vyberte @@název hostitele
SELECT * FROM schoool.student;
zatímco [ 1 ]provede
spánek 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e “select @@hostname;”
hotovo