{"id":185318,"date":"2013-07-02T11:43:06","date_gmt":"2013-07-02T07:43:06","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=185318"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=185318","title":{"rendered":"<span class=\"post_title\">\u041e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 mySQL \u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 CARP<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0418 \u0442\u0430\u043a \u0437\u0430\u0434\u0430\u0447\u0430.<br \/>  \u0415\u0441\u0442\u044c 2 \u0441\u0435\u0440\u0432\u0435\u0440\u0430: 1 \u2014 Master, 2 \u2014 Slave. \u041d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0430\u0434\u0435\u043d\u0438\u044f 1\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\/\u0438\u043b\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 2\u0439 \u043f\u0440\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c downtime. \u041f\u043e\u0441\u043b\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u041c\u0430\u0441\u0442\u0435\u0440\u0430, \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0442\u0430\u0442\u044c \u0441\u043b\u0435\u0439\u0432\u043e\u043c, \u0430 \u0421\u043b\u0435\u0439\u0432 \u2014 \u041c\u0430\u0441\u0442\u0435\u0440\u043e\u043c. \u041e\u0421 FreeBSD.<br \/>  <a name=\"habracut\"><\/a>   <\/p>\n<h4> \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e \u00ab\u0440\u044b\u0431\u0443\u00bb. <\/h4>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0441 \u0421\u0410RP<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/97d\/8c8\/d19\/97d8c8d1970492fc4e204489761eb50e.jpg\" alt=\"CARP\" align=\"left\"\/><b>CARP <\/b>(\u043e\u0442 \u0430\u043d\u0433\u043b. Common Address Redundancy Protocol \u2014 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043e\u0431\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430) \u2014 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0445\u043e\u0441\u0442\u0430\u043c\u0438 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0441\u0435\u0442\u0438. \/\/ \u0432\u0437\u044f\u0442\u043e \u0438\u0437 <a href=\"http:\/\/htttp:\/\/ru.wikipedia.org\/wiki\/CARP\">\u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438<\/a> <\/p>\n<p>  ## 192.168.10.1 \u2014 \u041c\u0430\u0441\u0442\u0435\u0440 1<br \/>  ## 192.168.10.2 \u2014 Slave 2 <\/p>\n<p>  1. \u0414\u043e\u0431\u0430\u0432\u0438\u043c carp \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0435\u0440\u0435\u043c \u044f\u0434\u0440\u043e. <\/p>\n<p>  master1# ee \/usr\/src\/sys\/i386\/conf\/MYKERNEL <br \/>  device carp # Common Address Redundancy Protocol <br \/>  master1# cd \/usr\/src\/<br \/>  master1# make biuldkernel KERNCONF=MYKERNEL<br \/>  master1# make installkernel KERNCONF=MYKERNEL<\/p>\n<p>  \/\/ \u041d\u0430 2\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0434\u0435\u043b\u0430\u0435\u043c \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435.<\/p>\n<p>  2. \u0414\u0430\u043b\u0435\u0435 \u043d\u0430 Master1 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \/etc\/rc.conf \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<p>  master1# ee \/etc\/rc.conf<\/p>\n<p>  ## Configure CARP<br \/>  cloned_interfaces=\u00abcarp0\u00bb<br \/>  ifconfig_carp0=\u00abvhid 1 advskew 100 pass seCret 192.168.10.3\/24 <\/p>\n<p>  #vhid \u2014 \u044d\u0442\u043e \u043d\u043e\u043c\u0435\u0440 \u0433\u0440\u0443\u043f\u043f\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<br \/>  #pass \u2014 \u044d\u0442\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435.<br \/>  #advskew \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442, \u0447\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u0435\u043c \u0433\u043b\u0430\u0432\u043d\u0435\u0435.<br \/>  #192.168.10.3\/24 \u2014 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0449\u0438\u0439 \u0430\u0439\u043f\u0438\u0448\u043d\u0438\u043a. <\/p>\n<p>  \u041d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 (\u041f\u0443\u0441\u043a\u0430\u0439 \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Slave2) \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \/etc\/rc.conf \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<p>  slave2# ee \/etc\/rc.conf<\/p>\n<p>  ## Configure CARP<br \/>  cloned_interfaces=\u00bbcarp0&quot;<br \/>  ifconfig_carp0=\u00abvhid 1 advskew 200 pass seCret 192.168.10.3\/24 <\/p>\n<p>  3. \u0414\u0430\u043b\u0435\u0435 \u043d\u0430 \u043e\u0431\u043e\u0438\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043e\u043f\u0446\u0438\u044e sysctl<\/p>\n<p>  master1# sysctl net.inet.carp.preempt=1<br \/>  slave2# sysctl net.inet.carp.preempt=1<\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u0430 \u043e\u0431\u043e\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0432 \/etc\/sysctl.conf \u0434\u0430\u043d\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e:<br \/>  net.inet.carp.preempt=1<\/p>\n<p>  #\u041f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 carp, \u043f\u0440\u0438 \u0448\u0442\u0430\u0442\u043d\u043e\u043c \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p>  4. \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u0431\u0443\u0442\u0430 \u0434\u0435\u043b\u0430\u0435\u043c <br \/>  ifconfig carp0 \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u0435:<\/p>\n<p>  carp0: flags=49 metric 0 mtu 1500<br \/>   inet 192.168.10.3 netmask 0xffff0000 <br \/>   carp: MASTER vhid 1 advbase 1 advskew 100<\/p>\n<p>  \u0434\u0435\u043b\u0430\u0435\u043c ifconfig carp0 \u043d\u0430 \u0441\u043b\u0435\u0439\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435:<\/p>\n<p>  carp0: flags=49 metric 0 mtu 1500<br \/>   inet 192.168.10.3 netmask 0xffff0000 <br \/>   carp: BACKUP vhid 1 advbase 1 advskew 200<\/p>\n<p>  \u0421 \u201e\u0440\u044b\u0431\u043e\u0439\u201c \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438, \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438. <\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438<\/h4>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/e8f\/fc7\/f64\/e8ffc7f64fda0a1f4b423f8fd799430b.png\" alt=\"\u0441\u0445\u0435\u043c\u0430 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438\" align=\"right\"\/><br \/>  \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e mySQL \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u043e\u043f\u0438\u0441\u0430\u043d\u043e <a href=\"http:\/\/habrahabr.ru\/post\/56702\/\">\u0442\u0443\u0442<\/a>, \u0442\u0430\u043a \u0447\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435. <\/p>\n<p>  \u041d\u0430 \u043e\u0431\u043e\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c mySQL \u0438\u0437 \u043f\u043e\u0440\u0442\u043e\u0432. <\/p>\n<p>  Master1# cd \/usr\/ports\/databases\/mysql55-server<br \/>  Master1# make install clean &#038;&#038; rehash<\/p>\n<p>  \u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433 <br \/>  Master1# cp \/usr\/local\/share\/mysql\/my-huge.cnf \/etc\/my.cnf<\/p>\n<p>  1. \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433 \/etc\/my.cnf \u043d\u0430 \u041c\u0430\u0441\u0442\u0435\u0440\u04351 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c <br \/>  \u0432 \u0441\u0435\u043a\u0446\u0438\u044e [mysqld]<\/p>\n<p>  ## Master 1<br \/>  auto_increment_increment = 2<br \/>  auto_increment_offset = 1<br \/>  server-id = 1<br \/>  relay-log = mysql-relay-bin<br \/>  log_slave_updates = 1<br \/>  skip_slave_start<br \/>  relay-log-space-limit = 1G<br \/>  log-bin = mysql-bin<\/p>\n<p>  2. \u041d\u0430 \u041c\u0430\u0441\u0442\u0435\u0440\u04352 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433 \/etc\/my.cnf<\/p>\n<p>  ## Master 2<br \/>  auto_increment_increment = 2<br \/>  auto_increment_offset = 2<br \/>  log-bin = mysql-bin<br \/>  server-id = 2<br \/>  relay-log = mysql-relay-bin<br \/>  log_slave_updates = 1<br \/>  skip_slave_start<br \/>  relay-log-space-limit = 1G<\/p>\n<p>  \/\/ \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b mySQL \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u043c\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u201e\u043d\u0430\u043f\u0438\u043b\u044c\u043d\u0438\u043a\u043e\u043c\u201c. \u041a\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u043d\u0438\u0432\u044b\u0439, \u0438\u043b\u0438 \u043d\u0435 \u0445\u043e\u0447\u0435\u0442 \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439. \u041d\u043e \u044f \u0431\u044b \u0412\u0430\u043c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c <a href=\"https:\/\/tools.percona.com\/\">tools.percona.com\/<\/a> \u043e\u0442 Percona Server \u043f\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432, \u043a\u0441\u0442\u0430\u0442\u0435, \u043c\u043e\u0436\u043d\u043e \u0438 \u0441\u0430\u043c\u0443 \u043f\u0435\u0440\u043a\u043e\u043d\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e mySQL-server.<\/p>\n<p>  3. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c mysql <br \/>  \/usr\/local\/etc\/rc.d\/mysql-server start<br \/>  Starting mysql.<\/p>\n<p>  3. \u0412\u0445\u043e\u0434\u0438\u043c \u0432 mysql \u043d\u0430 \u041c\u0430\u0441\u0442\u0435\u0440\u04351:<br \/>  mysql@master1&gt; show master status;<br \/>  +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>  | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |<br \/>  +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>  | mysql-bin.000001 | 499 | | |<br \/>  +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>  1 row in set (0.00 sec)<\/p>\n<p>  4. \u0412\u0445\u043e\u0434\u0438\u043c \u0432 mysql \u043d\u0430 \u041c\u0430\u0441\u0442\u0435\u0440\u04352:<br \/>  mysql@master2&gt; show master status;<br \/>  +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>  | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |<br \/>  +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>  | mysql-bin.000002 | 499 | | |<br \/>  +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>  1 row in set (0.00 sec)<\/p>\n<p>  5. \u0412\u0445\u043e\u0434\u0438\u043c \u0432 mysql \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u04351 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u044e\u0437\u0435\u0440\u043e\u0432:<\/p>\n<p>  mysql@master1&gt; GRANT REPLICATION SLAVE ON *.* TO repl@192.168.10.1 IDENTIFIED BY &#8216;replpass&#8217;;<br \/>  mysql@master1&gt; GRANT REPLICATION SLAVE ON *.* TO repl@192.168.10.2 IDENTIFIED BY &#8216;replpass&#8217;;<br \/>  mysql@master1&gt; FLUSH PRIVILEGES;<\/p>\n<p>  6. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043d\u0430 \u043c\u0430\u0441\u0442\u0435\u0440\u04352:<\/p>\n<p>  mysql@master2&gt; GRANT REPLICATION SLAVE ON *.* TO repl@192.168.10.1 IDENTIFIED BY &#8216;replpass&#8217;;<br \/>  mysql@master2&gt; GRANT REPLICATION SLAVE ON *.* TO repl@192.168.10.2 IDENTIFIED BY &#8216;replpass&#8217;;<br \/>  mysql@master2&gt; FLUSH PRIVILEGES;<\/p>\n<p>  7. \u041d\u0430 \u041c\u0430\u0441\u0442\u0435\u0440\u04352:<br \/>  mysql@master2&gt; CHANGE MASTER TO MASTER_HOST = \u201e192.168.10.1\u201c, MASTER_USER = \u201erepl\u201c, MASTER_PASSWORD = \u201ereplpass\u201c, MASTER_LOG_FILE = \u201emysql-bin.000001\u201c, MASTER_LOG_POS = 499;<\/p>\n<p>  mysql@master2&gt; start slave;<\/p>\n<p>  8. \u041d\u0430 \u041c\u0430\u0441\u0442\u0435\u0440\u04351:<br \/>  mysql@master1&gt; CHANGE MASTER TO MASTER_HOST = \u201e192.168.10.2\u201c, MASTER_USER = \u201erepl\u201c, MASTER_PASSWORD = \u201ereplpass\u201c, MASTER_LOG_FILE = \u201emysql-bin.000002\u201c, MASTER_LOG_POS = 499;<\/p>\n<p>  mysql@master1&gt; start slave;<\/p>\n<p>  9. \u041d\u0430 \u043e\u0431\u043e\u0438\u0445 \u043c\u0430\u0441\u0442\u0435\u0440\u0430\u0445 \u0434\u0435\u043b\u0430\u0435\u043c:<br \/>  mysql@master1&gt; show slave status\\G<\/p>\n<p>  \u041d\u0443\u0436\u043d\u0430\u044f \u043d\u0430\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u2014 \u044d\u0442\u043e Slave_IO_Running \u0438 Slave_SQL_Running<\/p>\n<p>  Slave_IO_Running: <b>Yes<\/b><br \/>   Slave_SQL_Running: <b>Yes<\/b><\/p>\n<p>  \u0423\u0440\u0430. \u041c\u0430\u0441\u0442\u0435\u0440 \u2014 \u041c\u0430\u0441\u0442\u0435\u0440 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0433\u043e\u0442\u043e\u0432\u0430. <\/p>\n<h4>\u0421\u043a\u0440\u0438\u043f\u0442<\/h4>\n<p> <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/05b\/69d\/50c\/05b69d50c256f99028c46f8e210bc237.jpg\" align=\"left\"\/><br \/>  \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0441\u0432\u044f\u0437\u043a\u0430 \u043f\u043e\u0447\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u0430, \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442.<br \/>  \u0415\u0441\u043b\u0438 \u041c\u0430\u0441\u0442\u0435\u04401 \u0443\u043f\u0430\u0434\u0435\u0442 \u043f\u043e \u0441\u0435\u0442\u0438, \u0442\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 CARP \u043f\u0430\u0441\u0441\u0438\u0432\u043d\u044b\u0439 \u0421\u043b\u0435\u0439\u04322 \u0441\u0442\u0430\u043d\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u041c\u0430\u0441\u0442\u0435\u0440\u043e\u043c. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u201e\u0440\u044b\u0431\u0443\u201c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0421\u043b\u0435\u0439\u04322 -&gt; \u041c\u0430\u0441\u0442\u0435\u04401 \u0435\u0441\u043b\u0438 \u0443\u043f\u0430\u0434\u0435\u0442 \u0411\u0414.<\/p>\n<p>  \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442.<\/p>\n<p>  Slave2# cd \/tmp<br \/>  Slave2# touch switch_script.sh &#038;&#038; chmod +x switch_script.sh<br \/>  Slave2# ee switch_script.sh <\/p>\n<pre><code class=\"bash\">#!\/bin\/sh  HOST1='192.168.10.1';   # master on server1 #HOST2='192.168.10.2';  # slave  on server2 GENERAL='192.168.10.3'; # General IP-adress  MYSQL='\/usr\/local\/bin\/mysql'  # Create infinite loop x=1 while [ $x -le 5 ];\tdo  \t${MYSQL} -s -h${HOST1} -urepl -preplpass --connect-timeout=10 -e 'SELECT VERSION()' &gt; \/dev\/null \tout=$? \t\tif [ $out -eq 0 ]; then \t\t\techo &quot;server ${HOST1} is OK&quot; \t\t\tsleep 60 \t\t# delay 1 min  \t\telse    \t\t\t\/usr\/local\/bin\/mysqladmin stop-slave \t\t\t\/sbin\/ifconfig carp0 ${GENERAL} vhid 1 advskew 50  \t\t\techo &quot;FAILED, cannot connect to mySQL&quot; \t\t\techo &quot;This host became a MASTER &quot; \t\t\texit 0 \t\tfi done<\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442:<br \/>  Slave2# .\/switch_carp.sh <\/p>\n<h4>\u041f\u043e\u0434\u0432\u0435\u0434\u0435\u043c \u0438\u0442\u043e\u0433\u0438. <\/h4>\n<p>  \u0423 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 mySQL Mater-Master (Active-Passive) \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 CARP. <br \/>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/185318\/\"> http:\/\/habrahabr.ru\/post\/185318\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0418 \u0442\u0430\u043a \u0437\u0430\u0434\u0430\u0447\u0430.<br \/>  \u0415\u0441\u0442\u044c 2 \u0441\u0435\u0440\u0432\u0435\u0440\u0430: 1 \u2014 Master, 2 \u2014 Slave. \u041d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0430\u0434\u0435\u043d\u0438\u044f 1\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\/\u0438\u043b\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 2\u0439 \u043f\u0440\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c downtime. \u041f\u043e\u0441\u043b\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u041c\u0430\u0441\u0442\u0435\u0440\u0430, \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0442\u0430\u0442\u044c \u0441\u043b\u0435\u0439\u0432\u043e\u043c, \u0430 \u0421\u043b\u0435\u0439\u0432 \u2014 \u041c\u0430\u0441\u0442\u0435\u0440\u043e\u043c. \u041e\u0421 FreeBSD.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-185318","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/185318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=185318"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/185318\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=185318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=185318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=185318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}