Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Configurando o MySQL InnoDB Cluster com MySQL Shell (mais o MySQL Router)


MySQL InnoDB Cluster, que combina tecnologias MySQL para permitir que você implante e administre uma solução completa e integrada de alta disponibilidade para MySQL. Este conteúdo é uma visão geral de alto nível do InnoDB Cluster.

Um cluster InnoDB consiste em pelo menos três instâncias do MySQL Server e fornece recursos de alta disponibilidade e dimensionamento. O InnoDB Cluster usa as seguintes tecnologias MySQL:

MySQL Shell, que é um cliente avançado e editor de código para MySQL.

MySQL Server e Replicação de Grupo, que permite que um conjunto de instâncias MySQL forneça alta disponibilidade. O InnoDB Cluster fornece uma forma alternativa, fácil de usar e programática para trabalhar com Replicação de Grupo.

MySQL Router, um middleware leve que fornece roteamento transparente entre seu aplicativo e o InnoDB Cluster.



Abaixo está o script usado no vídeo

MySQL Shell
MySQL server min 3 servers
Mysql Router como balanceador de carga

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

Instale o MysqlRouter apenas no servidor de aplicativos do repositório yum.

yum instale mysql-shell -y

sudo mysqlsh –pym pip install requests

sudo yum install mysql-router -y

mysqlsh –uri [email protected]
Not_so_secure1!
Not_so_secure1!

Faça isso em todas as instâncias

dba.configureInstance()
fornecer senha
2

innodbcluster
Strong_Password1!

dba.checkInstanceConfiguration(‘[email protected]’)

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

No Primeiro Prmry:

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

No servidor do roteador:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter

mysqlrouter –bootstrap [email protected] –user mysqlrouter

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

CREATE USER 'myadmin'@'%' IDENTIFICADO POR 'Strong_Password1!'
Concede todos os privilégios em *.* para myadmin'@'%' com opção de concessão;

mysqlsh –uri [email protected]

\sql
selecione @@hostname;
CREATE DATABASE schoool;USE schoool;
CREATE TABLE se não existir schoool.student(stndid int chave primária auto_increment,stdname varchar(100),phone int, classid int);
INSERT schoool.student(stdname,phone,classid) values('Aslam',123456977,7);
INSERT schoool.student(stdname,phone,classid) values('Mughees' ,123456977,8);
INSERT schoool.student(stdname,phone,classid) values('Ahmed',123456977,9);
SELECT * FROM schoool.student;

selecione @@hostname;

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

mysqlsh [email protected]

\sql
selecione @@hostname

SELECT * FROM escola.aluno;

enquanto [ 1 ] dorme 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e “selecione @@hostname;”
concluído