MySQL InnoDB Cluster, който съчетава MySQL технологии, за да ви позволи да разгръщате и администрирате цялостно интегрирано решение с висока наличност за MySQL. Това съдържание е преглед на високо ниво на InnoDB Cluster.
Клъстерът InnoDB се състои от най-малко три екземпляра на MySQL Server и осигурява висока достъпност и функции за мащабиране. InnoDB Cluster използва следните MySQL технологии:
MySQL Shell, който е усъвършенстван клиент и редактор на код за MySQL.
MySQL сървър и групова репликация, което позволява набор от екземпляри на MySQL да осигурят висока наличност. InnoDB Cluster предоставя алтернативен, лесен за използване програмен начин за работа с групова репликация.
MySQL Router, лек междинен софтуер, който осигурява прозрачно маршрутизиране между вашето приложение и InnoDB Cluster.
По-долу е скриптът, използван във видеото
MySQL Shell
MySQL сървър минимум 3 сървъра
Mysql Router като loadbalancer
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum инсталирайте mysql-shell -y
Инсталирайте MysqlRouter само на сървъра на приложения от yum repo.
yum инсталирайте mysql-shell -y
sudo mysqlsh –pym заявки за инсталиране на pip
sudo yum инсталирайте mysql-router -y
mysqlsh –uri [email protected]
Не толкова_защитен1!
Не_толкова_сигурен1!
Направете това на всички случаи
dba.configureInstance()
предоставете парола
2
innodbcluster
Силна_парола1!
dba.checkInstanceConfiguration(‘[email protected]’)
\c [email protected]:3306
var mycls=dba.createCluster('MUGHEES_CLS')
mycls.describe()
mycls.status()
mycls.SetupRouterAccount( 'myrouter')
На първи Prmry:
mycls.addinstance(‘mysql2:3306’)
mycls.addinstance(‘mysql3:3306’)
На рутер сървър:
mysqlrouter –bootstrap [email protected] -d myrouter_idc –account=myrouter
mysqlrouter –bootstrap [email protected] –потребител mysqlrouter
##############Сървъри:mysql1:####################
CREATE USER ‘myadmin’@’%’ ИДЕНТИФИЦИРАН ОТ ‘Strong_Password1!’
Предоставете всички привилегии на *.* на myadmin’@’%’ с опция за предоставяне;
mysqlsh –uri [email protected]
\sql
изберете @@hostname;
СЪЗДАВАНЕ НА БАЗА ДАННИ училище;ИЗПОЛЗВАНЕ НА училище;
СЪЗДАВАНЕ НА ТАБЛИЦА, ако не съществува schoool.student(stndid int първичен ключ 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);
ВЪВЕТЕ SCHOOOL.student(stdname,phone,classid) values('Ahmed',123456977,9);
ИЗБЕРЕТЕ * ОТ училище.студент;
изберете @@име на хост;
####################Сървъри:mysq12#####################
mysqlsh [email protected]
\sql
изберете @@име на хост
ИЗБЕРЕТЕ * ОТ училище.ученик;
докато [ 1 ]do
sleep 1
docker exec -it mysql-client4 mysql -h 192.168.56.110 -P 6447 -uinnodbcluster -pStrong_Password1! -e „изберете @@име на хост;“
готово