Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL InnoDB Cluster mit MySQL Shell (plus MySQL Router) einrichten

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