MySQL InnoDB Cluster, qui combine les technologies MySQL pour vous permettre de déployer et d'administrer une solution intégrée complète de haute disponibilité pour MySQL. Ce contenu est un aperçu de haut niveau d'InnoDB Cluster.
Un cluster InnoDB se compose d'au moins trois instances de serveur MySQL et offre des fonctionnalités de haute disponibilité et de mise à l'échelle. InnoDB Cluster utilise les technologies MySQL suivantes :
MySQL Shell, qui est un client avancé et un éditeur de code pour MySQL.
MySQL Server et Group Replication, qui permet à un ensemble d'instances MySQL de fournir une haute disponibilité. InnoDB Cluster fournit une méthode alternative, facile à utiliser, de programmation pour travailler avec la réplication de groupe.
MySQL Router, un middleware léger qui fournit un routage transparent entre votre application et InnoDB Cluster.
Ci-dessous le script utilisé dans la vidéo
MySQL Shell
Serveur MySQL min 3 serveurs
Mysql Router comme loadbalancer
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum installer mysql-shell -y
Installez MysqlRouter uniquement sur le serveur d'applications à partir du dépôt yum.
miam installer mysql-shell -y
requêtes d'installation sudo mysqlsh –pym pip
sudo yum install mysql-router -y
mysqlsh –uri [email protected]
Pas_si_sécurisé1 !
Pas_si_sécurisé1 !
Faites ceci sur toutes les instances
dba.configureInstance()
fournir le mot de passe
2
innodbcluster
Strong_Password1 !
dba.checkInstanceConfiguration(‘[email protected]’)
\c [email protected]:3306
var mycls=dba.createCluster('MUGHEES_CLS')
mycls.describe()
mycls.status()
mycls.SetupRouterAccount( 'monrouteur')
Le premier prmry :
mycls.addinstance(‘mysql2:3306’)
mycls.addinstance(‘mysql3:3306’)
Sur le serveur du routeur :
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter
mysqlrouter –bootstrap [email protected] –user mysqlrouter
##############Serveurs :mysql1:####################
CREATE USER 'myadmin'@'%' IDENTIFIED BY 'Strong_Password1 !'
Accordez tous les privilèges sur *.* à myadmin'@'%' avec l'option d'octroi ;
mysqlsh –uri [email protected]
\sql
select @@hostname;
CREATE DATABASE school;USE school;
CREATE TABLE if not exist school.student(stndid int primary key auto_increment,stdname varchar(100),phone int, classid int);
INSERT school.student(stdname,phone,classid) values('Aslam',123456977,7);
INSERT school.student(stdname,phone,classid) values('Mughees' ,123456977,8);
INSERT school.student(stdname,phone,classid) values('Ahmed',123456977,9);
SELECT * FROM school.student;
sélectionnez @@hostname ;
####################Serveurs :mysq12####################
exemple [email protected]
\sql
sélectionnez @@hostname
SELECT * FROM école.élève ;
while [ 1 ]do
sleep 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1 ! -e "sélectionnez @@nom_hôte ;"
terminé