Инструменты пользователя

Инструменты сайта


mysql._nastrojka_replikacii_master-slave

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
mysql._nastrojka_replikacii_master-slave [2016/08/10 10:10] – [Шаг 1. Настройка Мастера] daniilmysql._nastrojka_replikacii_master-slave [Дата неизвестна] (текущий) – внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 4: Строка 4:
  
 Master-Slave репликация в MySQL часто используется для обеспечения отказоустойчивости приложений. Кроме этого, она позволяет распределить нагрузку на базу данных между несколькими серверами (репликами). Читайте подробнее о применении репликации. Master-Slave репликация в MySQL часто используется для обеспечения отказоустойчивости приложений. Кроме этого, она позволяет распределить нагрузку на базу данных между несколькими серверами (репликами). Читайте подробнее о применении репликации.
- 
-{{ :mysql.master.slave.jpg?nolink |}} 
  
 Настройка репликации происходит в несколько шагов. Мы будем использовать два сервера с адресами: Настройка репликации происходит в несколько шагов. Мы будем использовать два сервера с адресами:
Строка 21: Строка 19:
  
 <code mysql> <code mysql>
-[mysql]+[mysqld]
 # предлагаю указать последний октет IP-адреса # предлагаю указать последний октет IP-адреса
 server-id = 11 server-id = 11
-log_bin = /var/log/mysql/mysql-bin.log+log_bin = /var/lib/mysql/mysql-bin.log
  
 # название Вашей базы данных, которая будет реплицироваться # название Вашей базы данных, которая будет реплицироваться
Строка 125: Строка 123:
  
 ===== Шаг 5. Настройка Слейва ===== ===== Шаг 5. Настройка Слейва =====
-В настройках **<wrap hi>my.cnf</wrap>** на Слейве необходимо указать такие параметры: +В настройках **<wrap hi>my.cnf</wrap>** на Слейве указываем следующие параметры: 
-<code> +  * **server-id** - идентификатор сервера, должен быть уникален. Лучше не использовать 1. Это единственный обязательный параметр; 
-# ID Слейва, удобно выбирать следующим числом после Мастера +  * **log_bin** - путь к бинарному логу. Оптимально указывать по аналогии с мастером;   
-server-id = 2+  * **log_slave_updates** - включает запись реляционных событий в собственный журнал на подчинённом сервере 
 +  * **binlog_do_db** - позволяет перечислить отдельные базы, для которых будет использоваться реплика.Если не инициализирована, то реплицируются все.
  
-# Путь к relay логу 
-relay-log = /var/log/mysql/mysql-relay-bin.log 
  
-# Путь к bin логу на Мастере+<code mysql> 
 +server-id = 22
 log_bin = /var/log/mysql/mysql-bin.log log_bin = /var/log/mysql/mysql-bin.log
 +relay_log = mysql-relay-bin
  
 # База данных для репликации # База данных для репликации
 binlog_do_db = newdatabase binlog_do_db = newdatabase
 +
 +# если необходимо сделать базу доступной только для чтения
 +# read_only = 1
 </code> </code>
  
Строка 145: Строка 147:
 Нам осталось включить репликацию, для этого необходимо указать параметры подключения к мастеру. В консоли mysql на Слейве необходимо выполнить запрос: Нам осталось включить репликацию, для этого необходимо указать параметры подключения к мастеру. В консоли mysql на Слейве необходимо выполнить запрос:
  
 +Для запуска slave-сервера необходимо:
 +  - указать параметры соединения (master-data). 
 +  - запустить репликацию.
 +
 +Если дамп базы делали с параметром **%%--master-data%%**, то первый пункт можно пропустить - информация будет указана при восстановлении дампа. В противном случае выполняем:
 <code mysql> <code mysql>
-CHANGE MASTER TO MASTER_HOST='10.10.0.1', MASTER_USER='slave_user', MASTER_PASSWORD='password',+CHANGE MASTER TO MASTER_HOST='10.1.0.11', MASTER_USER='slave_user', MASTER_PASSWORD='password',
 MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 107; MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 107;
-</mysdl>+</code>
  
-После этого запускаем репликацию на Слейве:+Запуск репликации выполняется следующей командой:
  
 <code mysql> <code mysql>
Строка 273: Строка 280:
                Last_SQL_Error:                 Last_SQL_Error: 
   Replicate_Ignore_Server_Ids:    Replicate_Ignore_Server_Ids: 
-             Master_Server_Id: 122+             Master_Server_Id: 11
  
 </code> </code>
Строка 313: Строка 320:
  
 ===== Источники ===== ===== Источники =====
-  * [[http://ruhighload.com/post/%D0%9A%D0%B0%D0%BA+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C+MySQL+Master-Slave+%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8E|Как настроить MySQL Master-Slave репликацию?]]+  * [[http://ruhighload.com/post/Как настроить MySQL Master-Slave репликацию|Как настроить MySQL Master-Slave репликацию?]] 
 +  * [[http://oz.by/books/more10132838.html?sbtoken=b229c4880c7d8212efab52af6c36655f | MySQL. Оптимизация производительности ]]
mysql._nastrojka_replikacii_master-slave.1470813027.txt.gz · Последнее изменение: 2016/08/10 00:00 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki