Страница 1 из 1

Репликация MySQL и DROP TABLE

Добавлено: 2018-02-22 8:47:22
lebus
Есть база в cp1251.
Настроил её репликацию.
Создаём табличку в названии кириллица.
Видим в бинлоге запись:

Код: Выделить всё

CREATE TABLE `тест` (
  `тест` INTEGER(11) DEFAULT NULL
) ENGINE=InnoDB
Всё нормально.
Пытаемся удалить. В бинлоге:

Код: Выделить всё

DROP TABLE `тест` /* generated by server */
Соответственно на реплике, что-то типа этого:

Код: Выделить всё

2018-02-21T12:27:33.131799Z 2 [ERROR] Slave SQL for channel '': Error 'Unknown table 'test.с…рµсђрѕсџ3'' on query. Default database: 'test'. Query: 'DROP TABLE `херня3` /* generated by server */', Error_code: 1051
Как видим табличка не удаляется...
mysql55-server-5.5.40

Пока писал сообщение, mysql обновился до mysql55-server-5.5.59 (не сам конечно, я его обновляться поставил).
И всё наладилось.
Теперь при DROP в бинлогах

Код: Выделить всё

DROP TABLE `тест` /* generated by server */
Может кому пригодится. Уж не знаю, связано ли это с тем что 5.5.40, или просто надо было пересобрать мускль, не знаю...

Репликация MySQL и DROP TABLE

Добавлено: 2018-02-25 8:42:50
Alex Keda
не создавайте таблички с именами в кириллице

Репликация MySQL и DROP TABLE

Добавлено: 2018-02-25 12:11:32
lebus
Alex Keda, спасибо Кэп!

Репликация MySQL и DROP TABLE

Добавлено: 2018-06-27 13:06:19
beraleevg
Возможно опоздал с ответом. Эта проблема с кодировкой. Вот решение. http://ezoterik.name/mysql-i-russkaya-kodirovka/
или вот http://www.programmersforum.ru/showthread.php?t=295344 тут только вместо utf-8 свою кодировку. В целом. Рекомендуется использовать utf-8 в место одно байтовых кодировок.