MySQL InnoDB Cluster, das MySQL-Technologien kombiniert, damit Sie eine vollständig integrierte Hochverfügbarkeitslösung für MySQL bereitstellen und verwalten können. Dieser Inhalt ist eine allgemeine Übersicht über den InnoDB-Cluster.
Ein InnoDB-Cluster besteht aus mindestens drei MySQL Server-Instanzen und bietet Hochverfügbarkeits- und Skalierungsfunktionen. InnoDB Cluster verwendet die folgenden MySQL-Technologien:
MySQL Shell, ein erweiterter Client und Code-Editor für MySQL.
MySQL Server und Group Replication, die es einer Reihe von MySQL-Instanzen ermöglicht, Hochverfügbarkeit bereitzustellen. InnoDB-Cluster bietet eine alternative, einfach zu verwendende programmgesteuerte Möglichkeit, mit der Gruppenreplikation zu arbeiten.
MySQL Router, eine leichte Middleware, die transparentes Routing zwischen Ihrer Anwendung und dem InnoDB-Cluster bereitstellt.
Unten ist das im Video verwendete Skript
MySQL Shell
MySQL-Server mindestens 3 Server
Mysql-Router als Loadbalancer
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
lecker installiere mysql-shell -y
Installieren Sie MysqlRouter nur auf dem Anwendungsserver von yum repo.
yum install mysql-shell -y
sudo mysqlsh –pym pip Installationsanforderungen
sudo yum install mysql-router -y
mysqlsh –uri [email protected]
Nicht_so_sicher1!
Nicht_so_sicher1!
Tun Sie dies auf allen Instanzen
dba.configureInstance()
Passwort angeben
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')
Am ersten Tag:
mycls.addinstance(‘mysql2:3306’)
mycls.addinstance(‘mysql3:3306’)
Auf dem Router-Server:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter
mysqlrouter –bootstrap [email protected] –user mysqlrouter
##############Server:mysql1:####################
ERSTELLEN SIE BENUTZER „myadmin“@“%“, IDENTIFIZIERT DURCH „Strong_Password1!“
Gewähren Sie myadmin“@“%“ alle Berechtigungen auf *.* mit Gewährungsoption;
mysqlsh –uri [email protected]
\sql. classid int);
INSERT schoool.student(stdname,phone,classid) values('Aslam',123456977,7);
INSERT schoool.student(stdname,phone,classid) values('Mughees' ,123456977,8);
INSERT schule.student(stdname,phone,classid) values('Ahmed',123456977,9);
SELECT * FROM schule.student;
wählen Sie @@hostname;
####################Server:mysq12####################
mysqlsh [email protected]
\sql
wählen Sie @@hostname
SELECT * FROM school.student;
while [ 1 ]do
sleep 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e „wähle @@hostname;“
fertig