Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Illegal mix of collations / 2 сообщений из 2, страница 1 из 1
06.08.2018, 09:55
    #39683590
alex5751
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Illegal mix of collations
Добрый день.
При запуске репликации получаю ошибки:

Last_SQL_Errno: 1366
Last_SQL_Error: Error 'Incorrect string value: '\xCD\xE8\xEA\xE8\xF5\xE8...' for column

или

Last_SQL_Errno: 1267
Last_SQL_Error: Error 'Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='' on query


В cmd установил chcp 1251, в запросах наблюдаю русские буквы.
Дамп снимаю с мастера, загружаю на слейв без ошибок.
Данные на слейве читаю нормально, русские буквы.

Подскажите куда еще капнуть чтобы побороть проблему сортировок/кодировок



Master
winxp+mysql5.5.23
база - cp1251, таблицы и столбцы - cp1251


+--------------------------+-----------
| Variable_name | Value
+--------------------------+----------
| character_set_client | cp1251
| character_set_connection | cp1251
| character_set_database | cp1251
| character_set_filesystem | binary
| character_set_results | cp1251
| character_set_server | cp1251
| character_set_system | utf8

+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | cp1251_general_ci |
| collation_database | cp1251_general_ci |
| collation_server | cp1251_general_ci |
+----------------------+-------------------+




Slave
win10+mysql5.7.22
база-cp1251, таблица и столбцы - cp1251


+--------------------------+-----------
| Variable_name | Value
+--------------------------+----------
| character_set_client | cp1251
| character_set_connection | cp1251
| character_set_database | cp1251
| character_set_filesystem | binary
| character_set_results | cp1251
| character_set_server | cp1251
| character_set_system | utf8

+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | cp1251_general_ci |
| collation_database | cp1251_general_ci |
| collation_server | cp1251_general_ci |
+----------------------+-------------------+


в настройках на обоих использую

[client]
default-character-set=cp1251

[mysql]
default-character-set=cp1251

[mysqld]
character-set-server = cp1251
collation-server=cp1251_general_ci
init_connect='SET collation_connection = cp1251_general_ci'
init_connect='SET NAMES cp1251'
...
Рейтинг: 0 / 0
28.08.2018, 09:55
    #39694113
alex5751
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Illegal mix of collations
Выполнил конвертацию все привел к utf8 (благо БД не очень большая) - репликация заработала.

Следом в репликации столкнулся с Illegal mix of collations for operation = concat.
Пришлось скорректировать свои процедуры добавив в запросы конструкцию типа

CONCAT(CAST(fName AS CHAR CHARACTER SET utf8),CAST('' AS CHAR CHARACTER SET utf8))
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Illegal mix of collations / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]