MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да настроите MySQL Master-Slave репликация на Ubuntu 18.04

MySQL Репликацията главен-подчинен е процедура, която позволява файловете на базата данни да бъдат репликирани или копирани в един или повече възли в мрежа. Тази настройка осигурява излишък и толерантност към грешки, така че в случай на повреда в главния възел , базите данни все още могат да бъдат възстановени в Slave възел . Това дава спокойствие на потребителите, че всичко няма да бъде загубено в никакъв случай, тъй като реплика на базите данни все още може да бъде извлечена от друг сървър.

В това ръководство ще научите как да изпълнявате MySQL база данни Master-slave репликация на Ubuntu 18.04 система.

Предварителни условия

При настройката ще имаме два сървъра, работещи с Ubuntu 18.04 със следните IP адреси.

Главен сървър:10.128.0.28 Подчинен сървър:10.128.0.29 

Нека сега да се потопим и да видим как можем да конфигурираме Master-slave настройка на репликация в Ubuntu .

Стъпка 1:Инсталирайте MySQL на главни и подчинени възли

Ubuntu хранилищата съдържат версия 5.7 на MySQL . За да се възползвате от всички нови функции и да избегнете потенциални проблеми, трябва да инсталирате най-новата версия на MySQL. Но първо, нека актуализираме двата възела с помощта на следната команда apt.

$ sudo apt актуализация

За да инсталирате MySQL и на двата възела, изпълнете командата.

$ sudo apt инсталирайте mysql-server mysql-client

След това отворете mysql конфигурационен файл.

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

На Главния възел , превъртете и намерете bind-address атрибут, както е показано по-долу.

bind-address =127.0.0.1

Променете адреса за обратна връзка, за да съответства на IP адреса на главния възел .

bind-address =10.128.0.28

След това посочете стойност за server-id атрибут в [mysqld] раздел. Избраният от вас номер не трябва да съвпада с друг номер на идентификатор на сървъра. Нека присвоим стойност 1 .

идентификатор на сървъра =1

В самия край на конфигурационния файл копирайте и поставете редовете по-долу.

log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log /mysql/mysql-relay-bin.index

Излезте от конфигурационния файл и рестартирайте услугата MySQL, за да влязат в сила промените на главния възел.

$ sudo systemctl рестартирайте mysql

За да проверите дали MySQL сървърът работи според очакванията, издайте командата.

$ sudo systemctl състояние mysql

Перфектно! MySQL сървърът работи според очакванията!

Стъпка 2:Създайте нов потребител за репликация на главния възел

В този раздел ще създадем потребител за репликация в главния възел . За да постигнете това, влезте в MySQL сървъра, както е показано.

$ sudo mysql -u корен -p

След това продължете и изпълнете заявките по-долу, за да създадете потребител на реплика и да предоставите достъп до подчинения за репликация. Не забравяйте да използвате своя IP адрес.

mysql> СЪЗДАВАНЕ НА ПОТРЕБИТЕЛ 'replication_user'@'10.128.0.29 ' ИДЕНТИФИЦИРАН ОТ 'replica_password';mysql> ПРЕДОСТАВЯНЕ НА РЕПЛИКАЦИЯ ДОБРЕ НА *.* НА 'replication_user '@'10.128.0.29 ';

След това изпълнете следната команда.

mysql> ПОКАЖЕТЕ ГЛАВНИЯ СТАТУС\G

Резултатът трябва да бъде подобен на това, което можете да видите по-долу.

Бъдете внимателни и обърнете внимание на mysql-bin.000002 стойност и ID на позиция 1643 . Тези стойности ще бъдат от решаващо значение при настройката на подчинения сървър .

Стъпка 3:Конфигурирайте MySQL Slave сървър

Отидете до подчинения сървър и както направихме с Главния сървър , отворете конфигурационния файл на MySQL.

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Точно като главния сървър , продължете да редактирате следните редове.

bind-address =10.128.0.29

Както и преди, посочете стойност за server-id атрибут в [mysqld] раздел. Този път изберете друга стойност. Да продължим с 2 .

идентификатор на сървъра =2 

Отново поставете редовете по-долу в самия край на конфигурационния файл.

log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log /mysql/mysql-relay-bin.index

След това рестартирайте MySQL сървъра на подчинен възел.

$ sudo systemctl рестартирайте mysql

След като приключите, запазете и излезте от текстовия редактор

След това влезте в обвивката на MySQL, както е показано.

$ sudo mysql -u корен -p

В тази стъпка ще трябва да направите някаква конфигурация, която ще позволи на подчинения сървър за да се свържете с главния сървър . Но първо спрете подчинените нишки, както е показано.

mysql> STOP SLAVE; 

За да разрешите подчинения сървър за репликиране на Главния сървър , изпълнете командата.

mysql> CHANGE MASTER TO MASTER_HOST ='10.128.0.28', MASTER_USER ='replication_user', MASTER_PASSWORD ='[email protected]', MASTER_LOG_FILE ='mysql-bin.000002', MASTER_LOG>4   

Ако сте достатъчно запалени, ще забележите, че сме използвали mysql-bin.00002 стойност и идентификатор на позиция 1643 показва по-рано след създаване на потребител за подчинена репликация.

Освен това са използвани IP адресът на главния сървър, потребителят за репликация и паролата.

По-късно стартирайте нишката, която сте спрели по-рано.

mysql> СТАРТИ РАБОТА;

Стъпка 4:Проверете репликацията на MySQL Master-Slave

За да проверим дали настройката наистина работи според очакванията, ще създадем нова база данни на главния и ще проверим дали е репликирана на MySQL Slave сървъра.

Влезте в MySQL в Главния сървър .

$ sudo mysql -u корен -p

Нека създадем тестова база данни. В този случай ще създадем база данни, наречена replication_db .

mysql> CREATE DATABASE replication_db;

Сега влезте във вашия MySQL екземпляр в подчинения сървър .

$ sudo mysql -u корен -p

Сега избройте базите данни с помощта на заявката.

mysql> ПОКАЖЕТЕ БАЗА ДАННИ;

Ще забележите базата данни, която сте създали на главната е репликиран на подчинен . Страхотно! Вашата MySQL главна-подчинена репликация работи според очакванията! Вече можете да бъдете сигурни, че в случай на неизправност, копията на файловете на базата данни ще бъдат репликирани на подчинения сървър.

Заключение

В това ръководство научихте как да настроите MySQL Master-slave настройка за репликация на Ubuntu 18.04 .


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoError:филтър параметърът трябва да бъде обект

  2. MongoDB $dateFromString

  3. Как да изпълня еквивалента на SQL Join в MongoDB?

  4. (MongoDB Java) $push в масив

  5. Java Mongodb numberlong заявка