sql >> Databasteknik >  >> RDS >> Mysql

Konfigurera MySQL InnoDB Cluster med MySQL Shell (plus MySQL Router)

MySQL InnoDB Cluster, som kombinerar MySQL-teknologier för att du ska kunna distribuera och administrera en komplett integrerad högtillgänglighetslösning för MySQL. Detta innehåll är en översikt över InnoDB Cluster på hög nivå.

Ett InnoDB-kluster består av minst tre MySQL Server-instanser, och det ger hög tillgänglighet och skalningsfunktioner. InnoDB Cluster använder följande MySQL-teknologier:

MySQL Shell, som är en avancerad klient och kodredigerare för MySQL.

MySQL-server och gruppreplikering, vilket gör att en uppsättning MySQL-instanser ger hög tillgänglighet. InnoDB Cluster tillhandahåller ett alternativt, lättanvänt och programmatiskt sätt att arbeta med gruppreplikering.

MySQL Router, en lätt mellanprogramvara som ger transparent routing mellan din applikation och InnoDB Cluster.

Nedan är skriptet som används i videon

MySQL Shell
MySQL-server min 3 servrar
MySQL-router som lastbalanserare

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

Installera MysqlRouter endast på applikationsservern från yum repo.

yum installera mysql-shell -y

sudo mysqlsh –pym pip installationsbegäranden

sudo yum installera mysql-router -y

mysqlsh –uri [email protected]
Not_so_secure1!
Not_so_secure1!

Gör detta på alla instanser

dba.configureInstance()
ange lösenord
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örsta Prmry:

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

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

mysqlrouter –bootstrap [email protected] –användare mysqlrouter

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

SKAPA ANVÄNDARE ‘myadmin’@’%’ IDENTIFIERAD AV ‘Strong_Password1!’
Ge alla privilegier på *.* till myadmin’@’%’ med tilldelningsalternativ;

mysqlsh –uri [email protected]

\sql
välj @@värdnamn;
SKAPA DATABAS skolan;ANVÄND skolan;
SKAPA TABELL om inte existerar school.student(stndid int primärnyckel 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älj @@värdnamn;

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

mysqlsh [email protected]

\sql
välj @@värdnamn

SELECT * FROM school.student;

medan [ 1 ] gör
sov 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e “select @@hostname;”
klar


  1. Hur man komprimerar och reparerar en databas manuellt i Access 2016

  2. Postgres rekursiv fråga med row_to_json

  3. Java Oracle localhost anslutningsfel (ORA-12505)

  4. TRANSACTION_MUTEX och transaktionsåtkomst för flera sessioner