Mysql
 sql >> Database >  >> RDS >> Mysql

Configurazione del cluster MySQL InnoDB con MySQL Shell (più MySQL Router)

MySQL InnoDB Cluster, che combina le tecnologie MySQL per consentirti di distribuire e amministrare una soluzione completa integrata ad alta disponibilità per MySQL. Questo contenuto è una panoramica di alto livello di InnoDB Cluster.

Un cluster InnoDB è costituito da almeno tre istanze di MySQL Server e fornisce funzionalità di scalabilità e alta disponibilità. InnoDB Cluster utilizza le seguenti tecnologie MySQL:

MySQL Shell, che è un client avanzato e un editor di codice per MySQL.

MySQL Server e Group Replication, che consente a un set di istanze MySQL di fornire un'elevata disponibilità. InnoDB Cluster fornisce un modo programmatico alternativo e facile da usare per lavorare con Group Replication.

MySQL Router, un middleware leggero che fornisce un routing trasparente tra la tua applicazione e InnoDB Cluster.

Di seguito è riportato lo script utilizzato nel video

MySQL Shell
Server MySQL min 3 server
Mysql Router come loadbalancer

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

Installa MysqlRouter solo sul server delle applicazioni da yum repository.

yum install mysql-shell -y

sudo mysqlsh –pym pip install request

sudo yum install mysql-router -y

mysqlsh –uri [email protected]
Not_so_secure1!
Not_so_secure1!

Fallo su tutte le istanze

dba.configureInstance()
fornire la password
2

innodbcluster
Strong_Password1!

dba.checkInstanceConfiguration('[email protected]')

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

Alla prima prmry:

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

Sul server del router:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter

mysqlrouter –bootstrap [email protected] –utente mysqlrouter

###############Server:mysql1:#########################

CREATE USER 'myadmin'@'%' IDENTIFICATO DA 'Strong_Password1!'
Concedi tutti i privilegi su *.* a myadmin'@'%' con opzione di concessione;

mysqlsh –uri [email protected]

\sql
select @@hostname;
CREA DATABASE schoool;USE schoool;
CREA TABELLA se non esiste schoool.student(stndid int primary key 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;

seleziona @@nomehost;

#########################Server:mysq12########################

esempio [email protected]

\sql
seleziona @@nomehost

SELEZIONA * DA school.student;

mentre [ 1 ]fa
sleep 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e "seleziona @@nomehost;"
fatto