sql >> Database >  >> RDS >> Mysql

MySQL InnoDB Cluster instellen met MySQL Shell (plus MySQL Router)

MySQL InnoDB Cluster, dat MySQL-technologieën combineert om u in staat te stellen een volledig geïntegreerde oplossing met hoge beschikbaarheid voor MySQL te implementeren en te beheren. Deze inhoud is een overzicht op hoog niveau van InnoDB Cluster.

Een InnoDB-cluster bestaat uit ten minste drie MySQL Server-instanties en biedt hoge beschikbaarheid en schaalfuncties. InnoDB Cluster gebruikt de volgende MySQL-technologieën:

MySQL Shell, een geavanceerde client- en code-editor voor MySQL.

MySQL-server en groepsreplicatie, waarmee een set MySQL-instanties hoge beschikbaarheid kan bieden. InnoDB Cluster biedt een alternatieve, gebruiksvriendelijke en programmatische manier om met groepsreplicatie te werken.

MySQL Router, een lichtgewicht middleware die zorgt voor transparante routering tussen uw applicatie en InnoDB Cluster.

Hieronder staat het script dat in de video wordt gebruikt

MySQL Shell
MySQL-server min 3 servers
Mysql-router als loadbalancer

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

Installeer MysqlRouter alleen op de applicatieserver vanuit yum repo.

yum installeer mysql-shell -y

sudo mysqlsh –pym pip installatieverzoeken

sudo yum install mysql-router -y

mysqlsh –uri [email protected]
Not_so_secure1!
Not_so_secure1!

Doe dit in alle gevallen

dba.configureInstance()
wachtwoord opgeven
2

innodbcluster
Strong_Password1!

dba.checkInstanceConfiguration('[email protected]')

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

Op de eerste ochtend:

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

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

mysqlrouter –bootstrap [email protected] –gebruiker mysqlrouter

##############Servers:mysql1:####################

MAAK GEBRUIKER 'myadmin'@'%' GEDENTIFICEERD DOOR 'Strong_Password1!'
Verleen alle privileges op *.* aan myadmin'@'%' met toekenningsoptie;

mysqlsh –uri [email protected]

\sql
select @@hostname;
CREATE DATABASE schoool;USE schoool;
CREATE TABLE indien niet bestaat 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);
SELECTEER * FROM schoool.student;

selecteer @@hostnaam;

####################Servers:mysq12####################

mysqlsh [email protected]

\sql
selecteer @@hostnaam

SELECTEER * VAN schoool.student;

while [ 1 ]do
slaap 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e “select @@hostname;”
klaar


  1. Wanneer gebruik je Common Table Expression (CTE)

  2. SQL Server-authenticatie versus Windows-authenticatie:welke te gebruiken en wanneer?

  3. Hoe kan ik tijd vergelijken in SQL Server?

  4. Een cluster-naar-cluster-replicatie configureren voor Percona XtraDB-cluster of MariaDB-cluster