Задавайте вопросы, мы ответим
Вы не зашли.
Залил базы с мастера на слейв, переключил на позицию в бинлоге мастера, запустил слейв.
При этом ошибка:
Last_SQL_Error: Error 'Duplicate entry '21464680' for key 'PRIMARY'' on query....
С Мастера пришел запрос на insert в таблицу и как видно из ошибки пытается выставить автоинкримент = 21464680 (мастер явно поле с автоинкриментом в логе не отдавал).
При этом в show create table:
) ENGINE=MyISAM AUTO_INCREMENT=21464694 DEFAULT CHARSET=utf8
Т.о. должно сгенерировать номер поля автоинкримента 21464694 но почему-то пытается выставить 21464680. Естественно такой номер уже есть.
Оба сервера Centos6 x86_64 стандартные пакеты. Доп репозитарии не подключены.
rpm -q mysql-server
mysql-server-5.1.61-1.el6_2.1.x86_64
В чем может быть проблема?
Неактивен
Вероятно слейв запущен с более ранней позиции в бинлоге, чем данные на нем. То есть на слейве уже есть записи с 680 по 693, но он получает команду на вставку 680-ой записи. Посмотрите внимательнее процедуру переноса данных и запуска слейва.
Неактивен
Нет, в логе он пишет поля которые переданы с мастера. Поля автоинкримент в этом списке нет. А значит он генерируется средствами слейва. При этом слейв пытается сгенерировать значение которое меньше указаного в свойстве таблицы auto_increment. Собственно это косвенно подтверждается и тем что SET GLOBAL SQL_SLAVE_SKIP_COUNTER не помогает.
Да и позиция лога определяется автоматически - тут ошибки быть не может:
cat dump_master.sh
#!/bin/bash
echo "FLUSH TABLES WITH READ LOCK" | mysql
echo "show master status" | mysql >/tmp/master.status
mysqldump bd1 >/tmp/bd1.sql
mysqldump bd2 >/tmp/bd2.sql
mysqldump bd3 >/tmp/bd3.sql
echo "UNLOCK TABLES" | mysql
Неактивен
Решилось когда с мастера начал делать просто копированием через mysqlhotcopy. Тогда все стартануло без проблем, что очень странно.
Неактивен
Приведите больше деталей: структуру таблиц, запрос, как он в бинлоге отображается.
См. http://dev.mysql.com/doc/refman/5.1/en/ … ement.html
Если ваше поведение не описано среди известных ограничений, значит это новая бага.
Неактивен
Структура простая (что касается этого поля) int(11) auto_increment. А вот запрос боюсь уже не получить, система боевая - объемы большие, быстро чистятся.
Неактивен