Задать вопрос
Ответы пользователя по тегу MySQL
  • Репликация MySQL и ошибка Duplicate entry 'значение' for key 'PRIMARY'' on query

    Merkuloff
    @Merkuloff
    Проверьте, возможно у вас сбиты счетчики или отличаются данные на мастере и слейве.
    Если отличается, то исправить так:

    Все запросы выполнить в мастере

    CREATE TABLE IF NOT EXISTS `vsm_user_passwords_new` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `login` varchar(100) NOT NULL,
    `password` varchar(100) NOT NULL,
    `date_till` date NOT NULL,
    `date_check` date DEFAULT NULL,
    PRIMARY KEY (`id`),
    KEY `login` (`login`),
    KEY `password` (`password`)
    ) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

    (Прежде чем создавать табличку, желательно глянуть в SHOW CREATE TABLE `vsm_user_passwords`,
    убедиться, что приведенная вами структура таблицы актуальна.)

    INSERT INTO `vsm_user_passwords_new` (SELECT * FROM `vsm_user_passwords`);

    TRUNCATE TABLE `vsm_user_passwords`;
    DROP TABLE `vsm_user_passwords`;

    RENAME TABLE `vsm_user_passwords_new` TO `vsm_user_passwords`;

    p.s. Версия MySQL? Есть ли триггеры на эту таблицу?
    p.s.s. Пробовали ли мониторить слейв, от кого идут запросы?
    Ответ написан