SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.02.2013 13:29:24

SSD
Участник
Зарегистрирован: 20.09.2012
Сообщений: 10

Постоянно слетает репликация

Доброе время суток.

Столкнулся с такой проблемой - постоянно слетает репликация.А именно
Slave_IO_Running    Yes
Slave_SQL_Running    No

Ручной запуск SQL_Runing не помогает.Запустить можно только после "Сбросить подчиненный сервер"  но через пару десяток минут опять падает.
В логах:

130218 10:01:22 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000015' at position 285932882, relay log './tvi-relay-bin.000003' position: 285933028
130218 10:01:22 [ERROR] Slave SQL: Error 'Duplicate column name 'sid'' on query. Default database: 'basemysql'. Query: 'ALTER TABLE `news`  ADD `sid` VARCHAR(255) NOT NULL', Error_code: 1060
130218 10:01:22 [Warning] Slave: Duplicate column name 'sid' Error_code: 1060
130218 10:01:22 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000015' position 285932882
130218 10:01:44 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013)
130218 10:01:44 [Note] Slave I/O thread killed while reading event
130218 10:01:44 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000030', position 291452137
130218 10:01:44 [Note] Slave SQL thread initialized, starting replication in log 'FIRST' at position 0, relay log './tvi-relay-bin.000001' position: 4
130218 10:01:44 [Note] Slave I/O thread: connected to master 'replicator@172.16.0.2:3306',replication started in log 'FIRST' at position 4
130218 10:36:34 [ERROR] Slave SQL: Error 'Duplicate column name 'sid'' on query. Default database: 'basemysql'. Query: 'ALTER TABLE `news`  ADD `sid` VARCHAR(255) NOT NULL', Error_code: 1060
130218 10:36:34 [Warning] Slave: Duplicate column name 'sid' Error_code: 1060
130218 10:36:34 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000015' position 285932882
130218 10:52:04 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000015' at position 285932882, relay log './tvi-relay-bin.000003' position: 285933028
130218 10:52:04 [ERROR] Slave SQL: Error 'Duplicate column name 'sid'' on query. Default database: 'basemysql'. Query: 'ALTER TABLE `news`  ADD `sid` VARCHAR(255) NOT NULL', Error_code: 1060
130218 10:52:04 [Warning] Slave: Duplicate column name 'sid' Error_code: 1060
130218 10:52:04 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000015' position 285932882
130218 10:52:12 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000015' at position 285932882, relay log './tvi-relay-bin.000003' position: 285933028
130218 10:52:12 [ERROR] Slave SQL: Error 'Duplicate column name 'sid'' on query. Default database: 'basemysql'. Query: 'ALTER TABLE `news`  ADD `sid` VARCHAR(255) NOT NULL', Error_code: 1060
130218 10:52:12 [Warning] Slave: Duplicate column name 'sid' Error_code: 1060
130218 10:52:12 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000015' position 285932882
--------------------------

Подскажите пжл - что можно сделать?

Неактивен

 

#2 18.02.2013 13:44:44

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Постоянно слетает репликация

Добавляете колонку в таблицу, в которой она уже есть. Посмотрите на логику этих операций, чтобы понять почему возникла рассинхронизация.

Неактивен

 

#3 18.02.2013 14:42:01

SSD
Участник
Зарегистрирован: 20.09.2012
Сообщений: 10

Re: Постоянно слетает репликация

rgbeast написал:

Добавляете колонку в таблицу, в которой она уже есть. Посмотрите на логику этих операций, чтобы понять почему возникла рассинхронизация.

Дело в том - что я вначале пробовал - синхронизировать обе базы  - а потом запускать репликацию заново.В итоге тот же результат.Или я что то не так правильно понимаю ..Базы(и таблицы с данными) одинаковы - а репликация этож изменения базы на слейве согласно изменениям на мастере?Почему возникает необходимость добавлять еще что то...

Неактивен

 

#4 18.02.2013 14:54:39

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Постоянно слетает репликация

Почему на слейв попадает команда ALTER TABLE? Значит откуда-то она оказалась в бинлоге, с которого запускаетесь

Неактивен

 

#5 28.02.2013 16:07:36

SSD
Участник
Зарегистрирован: 20.09.2012
Сообщений: 10

Re: Постоянно слетает репликация

Спасибо.
Реплику запустил.Но вот вопрос(не с чем сравнить).
Нагрузка mysqd стала на сервере около WCPU -100% (Xeon 4 ядра) ,что на фоне остальных процессов очень много.
Причем в mytop
Queries: 27.9k  qps:    2 Slow:     1.0         Se/In/Up/De(%):    38/2840/5927/5415
qps now:    1 Slow qps: 0.0  Threads:    1 (   1/   2) 00/4650/13700/13400

Id      User         Host/IP         DB      Time    Cmd Query or State
      --      ----         -------         --      ----    --- ----------
    2536      root       localhost       test         0  Query show full processlist
    1590 system us                                 7144 Connec Waiting for master to send event                    - зеленого цвета
    1591 system us                 basemysql   1956943 Connec OPTIMIZE TABLE `news`                         - зеленого цвета

Это нормально - такая нагрузка mysql на SLAVE сервере?C mysql на этом сервер ничто больше не работает.

Неактивен

 

#6 28.02.2013 22:41:08

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Постоянно слетает репликация

SLAVE исполняет те же запросы, что и мастер, но вынужден это делать в один поток. Поэтому 100% не удивительно. Нет ли отставания слейва от мастера.

Неактивен

 

#7 28.02.2013 22:50:19

SSD
Участник
Зарегистрирован: 20.09.2012
Сообщений: 10

Re: Постоянно слетает репликация

rgbeast написал:

SLAVE исполняет те же запросы, что и мастер, но вынужден это делать в один поток. Поэтому 100% не удивительно.

Хм ,а в чем тогда выгода кроме реплики?Бала задача разгрузить сервер от mysql...а тут



rgbeast написал:

Нет ли отставания слейва от мастера.

Будьте добры поподробней - по поводу  отставания.

Спасибо

Неактивен

 

#8 28.02.2013 22:57:06

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Постоянно слетает репликация

Имел в виду, что исполняет те же запросы на запись.

См., например утилиту pt-heartbeat
http://www.percona.com/doc/percona-tool … tbeat.html

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson