sql >> Base de Datos >  >> RDS >> Mysql

Configuración de MySQL InnoDB Cluster con MySQL Shell (más enrutador MySQL)

MySQL InnoDB Cluster, que combina tecnologías MySQL para permitirle implementar y administrar una solución de alta disponibilidad completamente integrada para MySQL. Este contenido es una descripción general de alto nivel de InnoDB Cluster.

Un clúster de InnoDB consta de al menos tres instancias de MySQL Server y proporciona funciones de alta disponibilidad y escalabilidad. InnoDB Cluster utiliza las siguientes tecnologías MySQL:

MySQL Shell, que es un cliente avanzado y un editor de código para MySQL.

MySQL Server y Group Replication, que permite que un conjunto de instancias de MySQL proporcione alta disponibilidad. InnoDB Cluster proporciona una forma programática alternativa y fácil de usar para trabajar con Group Replication.

MySQL Router, un middleware liviano que proporciona un enrutamiento transparente entre su aplicación e InnoDB Cluster.

A continuación se muestra el guión utilizado en el video

MySQL Shell
Servidor MySQL mínimo 3 servidores
Mysql Router como equilibrador de carga

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
mmm instalar mysql-shell -y

Instale MysqlRouter solo en el servidor de aplicaciones desde yum repo.

yum instalar mysql-shell -y

sudo mysqlsh –pym pip solicitudes de instalación

sudo yum install mysql-router -y

mysqlsh –uri [email protected]
¡No_tan_seguro1!
¡No_tan_seguro1!

Haz esto en todas las instancias

dba.configureInstance()
proporcionar contraseña
2

innodbcluster
¡Contraseña_fuerte1!

dba.checkInstanceConfiguration(‘[email protected]’)

\c [email protected]:3306
var mycls=dba.createCluster('MUGHEES_CLS')
mycls.describe()
mycls.status()
mycls.SetupRouterAccount( 'mirouter')

En el primer pago:

mycls.addinstance('mysql2:3306')
mycls.addinstance('mysql3:3306')

En el servidor del enrutador:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter

mysqlrouter –bootstrap [email protected] –usuario mysqlrouter

##############Servidores:mysql1:###################

CREAR USUARIO 'myadmin'@'%' IDENTIFICADO POR 'Strong_Password1!'
Otorgar todos los privilegios en *.* a myadmin'@'%' con la opción de concesión;

mysqlsh –uri [email protected]

\sql
select @@hostname;
CREAR BASE DE DATOS escuela;USAR escuela;
CREAR TABLA si no existe escuela.estudiante(stndid int clave primaria auto_incremento,stdname varchar(100),teléfono int, classid int);
INSERTAR escuela.estudiante(stdname,phone,classid) valores('Aslam',123456977,7);
INSERTAR escuela.student(stdname,teléfono,classid) valores('Mughees' ,123456977,8);
INSERTAR escuela.estudiante(stdname,phone,classid) valores('Ahmed',123456977,9);
SELECCIONAR * DE escuela.estudiante;

seleccione @@nombre de host;

####################Servidores:mysq12###################

mysqlsh [email protected]

\sql
seleccione @@nombre de host

SELECT * FROM escuela.estudiante;

while [ 1 ]hacer
dormir 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e “seleccione @@hostname;”
hecho