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 example@sqldat.com
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(‘example@sqldat.com’)

\c example@sqldat.com: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 example@sqldat.com -d myrouter_idc –account=myrouter

mysqlrouter –bootstrap example@sqldat.com –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 example@sqldat.comost

\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 mysqlsh@sqldat.com

\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é