The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Перенос данных из MySQL 4.0 в 4.1.x через mysqldump от нового MySQL
Итак, ситуация:
  -  новый db-сервер, с mysql 4.1.7
  -  необходимость проапгрейдить клиентскую библиотеку на тех серверах которые к нему будут обращаться.
  - необходимость миграции данных с других mysql, которые 4.0
  - базы все в cp1251

В качестве эксперимента апгрейдим mysql-client до 4.1.7 на первом db-сервере, 
где стоит 4.0.20 и отпадание mysql-client'а на, пусть даже час, ни к чему
фатальному не приведет...
На первый взгляд все гладко заапгрейдилось.

Вечером апгрейдим Mysql-client где надо, чего надо пересобираем... пока все гладко.

Начинаем миграцию данных, с того сервера где мы обновили Mysql-client в первую очередь.

Маленькая ремарка:  mysql-(client|server) были собраны из портов с
    WITH_LINUXTHREADS=yes 
    BUILD_STATIC=yes 
    BUILD_OPTIMIZED=yes
, т.е. с чарсетами по-умолчанию

  - делаем дамп командой mysqldump --opt database > database.sql
  - копируем дамп на новый сервер 
  - там в /etc/my.cnf уже прописано в [mysqld] default-character-set=cp1251.
  - говорим create database db_name
  - потом \. database.sql
  - дамп разворачивается, но... с матами на дублирование ключа и с вопросиками в место русских буковок.
  - пробуем set names cp1251 и снова развернуть дамп - та же история.

Потом пол-дня пробуем всякие разные комбинации с пересборкой mysql-server и всякими 
настройками charset/collation, в результате удосуживаемся присмотреться к дампу 
и увидеть там 'SET NAMES utf8' в самом начале. После замены оного на 'set names cp1251', 
все встало на свои места.

Этот "set names utf8" появился когда новый mysqldump из mysql-client-4.1.7 взялся дампить 
базу с cp1251 и, не получив информацию о collation/charset выставил то, что считал разумным - utf8.

Лечится созданием дампа с --skip-set-charset.
 
19.01.2005 , Автор: Dmitry Molchanov
Раздел:    Корень / Программисту и web-разработчику / SQL и базы данных / MySQL специфика / Оптимизация и администрирование MySQL

Обсуждение [ RSS ]
 
  • 1, Vasiok, 17:14, 20/01/2005 [ответить] [смотреть все]
  • +/
    Н-да. А достаточно лишь собрать клиентскую либу с указанием дефолтного чарсета.
     
  • 2, mdv, 18:03, 20/01/2005 [ответить] [смотреть все]
  • +/
    Есть такое, но когда разобрались было уже поздно ;) дв и не все собирают с указанием чарсета. в общем знания полученные в решении проблемы - полезны в любом случае ;)
     
  • 3, vasiok, 23:36, 21/01/2005 [ответить] [смотреть все]
  • +/
    Да штука в том, что если у вас уже есть куча кода, которая работает с этим мускулем, то либу-то таким образом пересобрать всё равно придётся, дабы потом set names не делать после каждого коннекта к базе. Это хорошо, если код написан так, как он должен быть написан и исправление нужно будет внести лишь в одном месте. Но, как показывает практика, это обычно не так. :-)
     
  • 4, azimut, 14:15, 20/04/2008 [ответить] [смотреть все]
  • +/
    Молодца. А теперь вдупли что писать надо было default_character_set, а не default-character-set как ты..
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList