Дима:
плохо он задачи ставит
freya:
ага. типа того: тебе нужно забить гвоздь. сразу так радуешься - о типа, фигня. всего лишь забить гвоздь. он продолжает: в забор. который мы сейчас будем строить. вокруг дома. которого еще нет. и начать нужно будет с вырубки леса, на котором будет дом.
xxx: Фары с надписью "CDЕПАНО В РОССNN" вызывают у меня сомнения о месте своего производства
Поиск по этому блогу
четверг, 2 июня 2011 г.
вторник, 31 мая 2011 г.
Настройка репликации в MySQL
На главном сервере (мастере).
Правим файл /etc/mysql/my.cnf (my.ini – если MySQL сервер работает под Windows):
[mysqld]
# уникальный ID сервера
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
# База, которая будет реплицироваться
binlog_do_db = test_db
Перезапускаем mysql:
/etc/init.d/mysql restart (net stop mysql, net start mysql – под Windows)
Создаем пользователя replication (10.0.0.2 – адрес slave сервера) с паролем slave_password с правами на репликацию:
mysql -u root
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'10.0.0.2' IDENTIFIED BY 'slave_password';
FLUSH PRIVILEGES;
Смотрим статус мастера (пример):
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 107 | test_db | |
+------------------+----------+--------------+------------------+
1 row in set
Выгружаем данные из БД:
mysqldump -u root -p --single-transaction --master-data --flush-logs test_db > test_db.sql
Копируем полученный файл test_db.sql на slave сервер.
На slave сервере (реплике):
Правим test_db.sql. Находим строчку
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin. 000003’, MASTER_LOG_POS=107;
и удаляем ее. Сохраняем файл.
Правим файл /etc/mysql/my.cnf на реплике:
[mysqld]
# ID slave должен отличаться от главного сервера
server-id = 2
binlog_do_db = test_db
relay-log = /var/log/mysql/mysqld-relay-bin.log
Перезапускаем сервер:
/etc/init.d/mysql restart
Останавливаем репликацию:
mysql> stop slave;
mysql> reset slave;
Задаем параметры репликации:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=107, MASTER_HOST='10.0.0.1', MASTER_USER='replication', MASTER_PASSWORD='slave_password', MASTER_CONNECT_RETRY=60;
P.S. Вообще-то как я читал, предыдущую команду можно было прописать в test_db.sql (вместо удаления строчки), но у меня не сработало
Загружаем
данные:
mysql -u root < test_db.sql
Запускаем репликацию:
mysql> start slave;
Смотрим статус репликации:
mysql> show slave status;
Параметры Slave_IO_Running, Slave_SQL_Running должны быть равны yes.
Для проверки репликации меняем что-нибудь на мастере (создать таблицу, добавить записей и т.п.) и смотрим изменения на реплике.
понедельник, 30 мая 2011 г.
Сегодня..
Надо было сегодня остаться после работы: mysql-ную базу почты с одного сервера на другой перенести и репликацию настроить. Думал по-быстрому :)
Задержался минут на 30 всего, подхожу к выходу - закрыто. Вахтерша ушла, дверь закрыла, сигнализацию включила (на полчаса раньше положенного). Пришлось звонить своему начальнику, он начальнику АХО, а тот уже вахтерше. Еще плюс 30 минут пока она пришла и открыла дверь.
На остановке сажусь в автобус, только отъехали - заглох. Минут 10 водитель ковырялся. Поехали. Ура! Правда в 2 раза медленней чем обычно. Пока доехал, еще пару раз останавливались ) Перед последней остановкой не выдержал, пошел пешком. Обогнал его )
Дошел до дома, поднимаюсь на 5 этаж (надо на 7), навстречу малышня с великом, просят: "Помогите спустить" . Движемся толпой на первый этаж :) А потом опять на седьмой
После отпуска
Встречаются два приятеля после отпуска:
— Ну как отдохнул, где был?
— Неплохо, на юге был — море, фрукты, женщины...
— Да-а, хорошо. А я на даче — болото, огурцы и бабы.
— Ну как отдохнул, где был?
— Неплохо, на юге был — море, фрукты, женщины...
— Да-а, хорошо. А я на даче — болото, огурцы и бабы.
Подписаться на:
Сообщения (Atom)