powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Копирование базы с Windows на FreeBSD
5 сообщений из 5, страница 1 из 1
Копирование базы с Windows на FreeBSD
    #33127739
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется: Win XP sp2 Rus + MySQL 4.1.8, текст в таблицах написан в cp1251, collation таблиц был latin1, потом я его поменял на cp1251.

В результате выполнения команды
mysqldump.exe -u root -p --opt mytable > mytable.sql
я получаю уже нечитабельный кириллический текст в файле-дампе.

И, конечно, на целевой машине FreeBSD 5.4 + MySQL 4.0.21 (скорее всего обновлю, когда машина получит доступ в Инет) после команды
source mytable.sql
из mysql читабельного кириллического текста в таблицах я не получаю.

При этом, например, если из MySQL Control Center в таблицу ввести с клавиатуры слово с кириллицей, то она сохранится нормально.

И собственно вопрос: каким ограниченным количеством команд перетащить базу с исходного компа на целевой, да так, чтобы кириллица не портилась.
...
Рейтинг: 0 / 0
Копирование базы с Windows на FreeBSD
    #33127824
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему-то mysqldump говорит, что
>mysqldump.exe -u root -p --opt mybase --default-character-set=cp1251 --character-sets-dir=C:\mysql\share\charsets > mybase.sql
mysqldump.exe: Character set 'cp1251' is not a compiled character set and is not specified in the 'C:\mysql\share\charsets\Index.xml' file
Хотя я открывал C:\mysql\share\charsets\Index.xml и видел, что cp1251 там определено, даже копировал это имя оттуда.

Проблема решилась командой экспорта вида
>mysqldump.exe -u root -p --opt mybase --default-character-set=binary > mybase.sql

Теперь следующий вопрос: а почему нехороший mysqldump не может найти cp1251 в Index.xml?
...
Рейтинг: 0 / 0
Копирование базы с Windows на FreeBSD
    #33130131
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я могу ошибаться, но по-моему понятие кодровок в MySQL появилось с версии 4.1. До этого была только одна кодировка latin1.
Насчет того, как правильно переводить уже заполненную таблицу из одной кодировки в другую - посмотрите мануал в разделе кодировок, там четко описан механизм. Одного ALTER TABLE - мало.
Кодировки могут путаться из-за локали. что бы изменить кодировки отображения делайте SET NAMES <имя кодировки>. В мане написано ужасно, но методом проби иошибок проблемы решаются.
...
Рейтинг: 0 / 0
Копирование базы с Windows на FreeBSD
    #33130145
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YanisПроблема решилась командой экспорта вида
>mysqldump.exe -u root -p --opt mybase --default-character-set=binary > mybase.sql

А откуда такую команду нарыл? И восстанавливается как, нормально?
...
Рейтинг: 0 / 0
Копирование базы с Windows на FreeBSD
    #33130955
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!cЯ могу ошибаться, но по-моему понятие кодровок в MySQL появилось с версии 4.1. До этого была только одна кодировка latin1.

Вы ошибаетесь. Все кодировки были. Разница между 4.0 и 4.1 та что в 4.0 был один charset на все таблицы, и он устанавливался в my.cnf

В 4.1 можно установить разные charset и collation вплоть до отдельных полей в таблице
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Копирование базы с Windows на FreeBSD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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