Mysql
 sql >> Base de données >  >> RDS >> Mysql

Configuration du cluster MySQL InnoDB avec MySQL Shell (plus MySQL Router)

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é