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

Opsætning af MySQL InnoDB Cluster med MySQL Shell (plus MySQL Router)

MySQL InnoDB Cluster, som kombinerer MySQL-teknologier for at gøre dig i stand til at implementere og administrere en komplet integreret høj tilgængelighedsløsning til MySQL. Dette indhold er en oversigt på højt niveau over InnoDB Cluster.

En InnoDB-klynge består af mindst tre MySQL Server-instanser, og den giver høj tilgængelighed og skaleringsfunktioner. InnoDB Cluster bruger følgende MySQL-teknologier:

MySQL Shell, som er en avanceret klient og kodeeditor til MySQL.

MySQL-server og gruppereplikering, som gør det muligt for et sæt MySQL-instanser at give høj tilgængelighed. InnoDB Cluster giver en alternativ, nem at bruge en programmatisk måde at arbejde med Group Replication på.

MySQL Router, en letvægts middleware, der giver gennemsigtig routing mellem din applikation og InnoDB Cluster.

Nedenfor er scriptet brugt i videoen

MySQL Shell
MySQL server min 3 servere
Mysql router som 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

Installer kun MysqlRouter på applikationsserveren fra yum repo.

yum installer mysql-shell -y

sudo mysqlsh –pym pip installationsanmodninger

sudo yum installer mysql-router -y

mysqlsh –uri [email protected]
Ikke_så_sikker1!
Ikke_så_sikker1!

Gør dette i alle tilfælde

dba.configureInstance()
angiv adgangskode
2

innodbcluster
Strong_Password1!

dba.checkInstanceConfiguration(‘[email protected]’)

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

På første Prmry:

mycls.addinstance(‘mysql2:3306’)
mycls.addinstance(‘mysql3:3306’)

På routerserver:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter

mysqlrouter –bootstrap [email protected] –user mysqlrouter

##############Servere:mysql1:####################

OPRET BRUGER 'myadmin'@'%' IDENTIFICERET AF 'Strong_Password1!'
Giv alle privilegier på *.* til myadmin'@'%' med tildelingsmulighed;

mysqlsh –uri [email protected]

\sql
vælg @@værtsnavn;
OPRET DATABASE skole;BRUG skole;
OPRET TABEL, hvis den ikke eksisterer school.student(stndid int primærnøgle 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;

vælg @@værtsnavn;

###################Servere:mysq12####################

mysqlsh [email protected]

\sql
vælg @@værtsnavn

VÆLG * FRA school.student;

mens [ 1 ]do
sove 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e “vælg @@værtsnavn;”
udført


  1. Brug af Excel VBA til at køre SQL-forespørgsel

  2. SQLite Vælg Distinct

  3. Hvordan installeres Python MySQLdb-modulet ved hjælp af pip?

  4. sqliteLog 14:kan ikke åbne filen på linje