Как да направя репликация

от MySQL UG Bulgaria

Jump to: navigation, search

/В процес на разработка/

Какво е репликация

С най-общи думи, процеса на репликация ни дава възможността да правим промени на един сървър, а те да се появяват на много сървъри. След като направим промените на основния сървър MySQL записва всички промени във бинарен файл, който ние задаваме къде да се намира. На определено време се отваря връзка към другия сървър (или сървъри) и тези промени се прилагат и там.

Как да я направим

Първото нещо което трябва да се направи е да се дадат права на потребителя, които ще се използва само за репликацията.Това трябва да се изпълни с 'root' права. Както виждате се дават права необходими само за процеса на репликация:

  GRANT REPLICATION SLAVE, REPLICATION CLIENT
      ON *.*
      TO 'replicant'@'slave_host'
      IDENTIFIED BY 'my_pwd';
   
   

Не забравяйте са направите такъв потребител и на двата сървъра, между които ще се извършва репликацията. След като сме се уверили, че това е така, можем да започнем с малко настроийки, който трябва да поставим в конфигурационния файл - my.cnf (или my.ini) в зависимост на каква операционна система сте.


* Добавете в [mysqld] частта следните линии
   server-id = 1
   log-bin = /var/log/mysql/bin.log


Както говорят сами за себе си, редовете са както следва

1. Какво е ID-то на сървъра
2. Пътя за бинарния лог на MySQL, можете да го насочите накъдето искате,
стига да сте сигурни, че папката съществува и че потребителя mysql е собственник на папката.


За другият сървър, ще имаме малко повече данни в този конфигурационен файл:

ID на сървъра

  server-id = 2

Данни за връзка с него

  master-host = mastersite.com
  master-port = 3306
  master-user = replicant
  master-password = my_pwd

и информация за логовете

  log-bin = /var/log/mysql/bin.log 
  log-bin-index = /var/log/mysql/log-bin.index
  log-error = /var/log/mysql/error.log
  relay-log = /var/log/mysql/relay.log
  relay-log-info-file = /var/log/mysql/relay-log.info
  relay-log-index = /var/log/mysql/relay-log.index
Лични инструменти