MySQL InnoDB Cluster, który łączy technologie MySQL, aby umożliwić wdrożenie i administrowanie kompletnym, zintegrowanym rozwiązaniem o wysokiej dostępności dla MySQL. Ta treść jest ogólnym przeglądem klastra InnoDB.
Klaster InnoDB składa się z co najmniej trzech instancji MySQL Server i zapewnia wysoką dostępność oraz funkcje skalowania. Klaster InnoDB korzysta z następujących technologii MySQL:
MySQL Shell, który jest zaawansowanym klientem i edytorem kodu dla MySQL.
MySQL Server i Group Replication, która umożliwia zestawowi instancji MySQL zapewnienie wysokiej dostępności. Klaster InnoDB zapewnia alternatywny, łatwy w użyciu programistyczny sposób pracy z replikacją grupową.
MySQL Router, lekkie oprogramowanie pośredniczące, które zapewnia przejrzysty routing między Twoją aplikacją a klastrem InnoDB.
Poniżej znajduje się skrypt użyty w filmie
Powłoka MySQL
Serwer MySQL min 3 serwery
Router MySQL jako loadbalancer
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
mniam zainstaluj mysql-shell -y
Zainstaluj MysqlRouter tylko na serwerze aplikacji z repozytorium yum.
mniam zainstaluj mysql-shell -y
sudo mysqlsh –pym prośby o instalację pip
sudo mniam zainstaluj mysql-router -y
mysqlsh –uri [email protected]
Nie_tak_bezpieczne1!
Nie_tak_bezpieczne1!
Zrób to na wszystkich instancjach
dba.configureInstance()
podaj hasło
2
innodbcluster
Strong_Password1!
dba.checkInstanceConfiguration(‘[email protected]’)
\c [email protected]:3306
var mycls=dba.createCluster('MUGHEES_CLS')
mycls.describe()
mycls.status()
mycls.SetupRouterAccount( „mójrouter”)
Pierwszego Prmry:
mycls.addinstance(‘mysql2:3306’)
mycls.addinstance(‘mysql3:3306’)
Na serwerze routera:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter
mysqlrouter –bootstrap przykł[email protected] –użytkownik mysqlrouter
##############Serwery:mysql1:####################
UTWÓRZ UŻYTKOWNIKA „mojadmin”@”%” ZIDENTYFIKOWANY PRZEZ „Strong_Password1!”
Przyznaj wszystkie uprawnienia dotyczące *.* mojemuadminowi”@”%” z opcją przyznania;
mysqlsh –uri przykł[email protected]
\sql
select @@hostname;
CREATE DATABASE school;USE school;
CREATE TABLE, jeśli nie istnieje schoool.student(stndid int klucz podstawowy auto_increment,stdname varchar(100),phone int, classid int);
WSTAW 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;
wybierz @@nazwa hosta;
####################Serwery:mysq12####################
mysqlsh przykł[email protected]
\sql
wybierz @@nazwa hosta
WYBIERZ * Z szkoła.uczeń;
while [ 1 ]do
uśpij 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e „wybierz @@nazwa hosta;”
gotowe