Репликация MySQL в режиме master-slave

Настройка репликации MySQL в режиме master-slave

На мастере.

ee /etc/my.cnf

log-bin # log-bin — это имя файла бинарного лога.
Server-id = 1 # идентификатор сервера

//slave-compressed = 1 # можно повысить скорость обмена разрешив сжимать поток
binlog-do-db = mydatabase # указываем наблюдать только за базой «mydatabase»

Создадим отдельную учётную запись backuper на основном сервере c привилегиями REPLICATION SLAVE, SELECT, RELOAD, SUPER.
При создании учётной записи не забудьте указать ‘10.1.1.5’ (IP-адрес резервного сервера) и ‘PASSWORD’.
Кроме того сразу узнаем номер журнала и смещение от начала файла:

# mysql -uroot -p
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘backuper’@’10.1.1.5’ IDENTIFIED BY ‘mypass’;
mysql> FLUSH PRIVILEGES;
mysql> USE mydatabase;
mysql> SHOW MASTER STATUS;
+——————+———-+—————+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+—————+——————+
| master-srv-bin.000031 | 299 | | |
+——————+———-+—————+——————+
1 row in set (0.00 sec)

Делаем дамп БД

master-srv# mysqldump -u root -p mydatabase >> /data/backup/mysqldump/mydatabase_30.04.2011_03.sql

На слэйве

slave-srv# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43 to server version: 4.1.25-log

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> create database mydatabase;
Query OK, 1 row affected (0.00 sec)

mysql> use mydatabase;
Database changed
mysql> source /data/www/mydatabase_30.04.2011_03.sql

slave-srv# /usr/local/etc/rc.d/mysql-server start

mysql> CHANGE MASTER TO
-> MASTER_HOST=’192.168.1.5′,
-> MASTER_USER=’backuper’,
-> MASTER_PASSWORD=’mypass’,
-> MASTER_LOG_FILE=’master-srv-bin.000031′,
-> MASTER_LOG_POS=299;
mysql> SLAVE START;

148 views


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *