Подсказка: MySQL InnoDB кластер группа репликация, лежащая в основе зависимого режима, по меньшей мере, три машины
DB-host1, дб-host2, дб-host3 затем настроить каждую машину хостов карта, соответствующая следующему: 1. Приготовить три CentOS Linux 7 (ядро), изменить имя каждого хоста
кот << EOF >> / и т.д. / хосты 192.168.50.181 db- host1 192.168.50.182 db- host2 192.168.50.183 db- host3 EOF
2. Убедитесь в том, что три сервера, чтобы получить доступ друг к другу должным образом, пожалуйста, отключите брандмауэр на период действия договора страхования, firewalld часто используемые команды, такие как:
# Start systemctl Start firewalld # закрыть systemctl СТОП firewalld # посмотреть статус systemctl Статус firewalld # загрузки отключена systemctl отключить firewalld # Power On systemctl включить firewalld # просматривать все открытые порты брандмауэра CMD --zone = общественные --list- порты
3. Убедитесь, что используется SSH совместно посещения, здесь с помощью корневой учетной записи, такие как: осуществление дб-host1, и поэтому другие:
SSH-кейген - т RSA SSH -копию-идентификатор -i ~ / .ssh / id_rsa.pub 192.168.50.182 SSH -keygen - т RSA SSH -копию-идентификатор -i ~ / .ssh / id_rsa.pub 192.168.50.183
4. Подготовка установки MySQL-сообщества-сервер, MySQL скорлупу, MySQL-маршрутизатор, установленный в машинах 3, обратите внимание на версию:
Wget https://dev.mysql.com/get/mysql80-community-release-el7-3 .noarch.rpm мин -ivh mysql80-сообщество релиз-el7-3 .noarch.rpm ня установить MySQL -community-сервер
Wget https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.0.18-1 .el7.x86_64.rpm оборотов в минуту -ivh MySQL-оболочка-8.0.18-1 .el7.x86_64 .rpm ня установить MySQL -оболочку
Wget https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-community-8.0.18-1 .el7.x86_64.rpm оборотов в минуту -ivh MySQL-маршрутизатор-сообщества 8.0.17-1 .el7.x86_64.rpm ням установить MySQL -router
5. После установки MysqlServer, последовательно каждой инициализации MySQL, следующие этапы: инициализации #:
туздО - выполнения инициализации; # назначать права доступа:
Чаун MySQL: MySQL / вар / Lib / MySQL -R # сервис MySQL начала:
systemctl Start mysqld.service; # Установить загрузку с Каем MySQL
MySQL systemctl включить туздО; # команду для просмотра пароля для базы данных :
CAT /var/log/mysqld.log | Grep пароль # , чтобы ввести команду MySQL строку:
MySQL-uroot - р (пароль , введенный в базу данных выше для просмотра MySQL из командной строки)
# команду , чтобы изменить пароль:
альтер ПОЛЬЗОВАТЕЛЬ «корень» @ «Localhost «отождествить с mysql_native_password от» пароль «; # создать удаленный доступ:
в поле создать пользователя» корень «@»% «отождествить с mysql_native_password на» пароль «; GRANT все привилегии . * * в TO» корень «@»% «Опция WITH GRANT OPTION ; флеш привилегии;
6. С зависимой группы копировать, модифицировать /etc/my.cnf в host1
server_id = 4000000161 рыхлого -group_replication_group_name = " a38e32fd-5fb6-11e8-ad7a-00259015d941 " рыхлый -group_replication_local_address = " 192.168.50.181:3306 " свободное -group_replication_group_seeds = " 192.168.50.181:3306,192.168.50.182:3306,192.168.50.183: 3306 " свободный -group_replication_single_primary_mode = ИСТИНА
2 затем копируется на другую машину /etc/my.cnf
Rsync -e " SSH -p22 " -avpgolr /etc/my.cnf [email protected]: / и т.д. / Rsync -e " SSH -p22 " -avpgolr /etc/my.cnf [email protected]: / и т.д. /
Убедитесь в том, что их server_id и адрес
host1 server_id = 4000000161
отрывными group_replication_local_address = "192.168.50.181:3306"
host2 server_id = 4000000162
отрывными group_replication_local_address = "192.168.50.182:3306"
host3 server_id = 4000000163
отрывными group_replication_local_address = "192.168.50.183:3306"
7.3 Тайвань MySQL сервер группы запуска копирования
начало group_replication
8. Проверьте примеры конфигурации с помощью mysqlsh
dba.checkInstanceConfiguration ( 'корень @ дб-host1: 3306 ') dba.checkInstanceConfiguration (' корень @ дб-host2: 3306 ') dba.checkInstanceConfiguration (' корень @ дб-host3: 3306')
8. Примеры конфигурации
dba.configureInstance ( 'корень @ дб-host1: 3306', { 'перезагрузка': истинный }) dba.configureInstance ( 'корень @ дб-host2: 3306', { 'перезагрузка': истинный }) dba.configureInstance ( 'корень @ дб-host3: 3306' , { 'перезагрузка': истинный })
9. Добавить экземпляр создается
var cluster = dba.createCluster('mycluster'); var cluster=dba.getCluster('mycluster') cluster.addInstance('root@db-host2:3306'); cluster.addInstance('root@db-host3:3306');
10. 登录主服务器 ,查看,配置成功
mysql> select * from performance_schema.replication_group_members;
注意:由于8.0 中的一些变化和5.X配置有所配置不同,按照以前的配置容易出错,要善于对应分析日志进行排错
推荐参考资料:
https://blog.csdn.net/wzy0623/article/details/100779450
https://www.jianshu.com/p/6e2918845ec8
https://lefred.be/content/mysql-8-0-innodb-cluster-the-quick-hands-on-manual/
https://cloud.tencent.com/developer/article/1445710