Спасавање MySQL базе

Оног тренутка када сам покренуо форум УКЛиК и срео се са потребом да направим идентичну копију на локалном серверу, наишао сам на проблем при пребацивању MySQL базе у локал.
Проблем се огледа у неправилном третирању UTF-8 карактера ако се извоз и увоз врши преко phpMyAdmin-а.

Наиме, ако се база извезе са UTF-8 кодним распоредом, и под истим увезе у локалну базу, уместо функционалног садржаја добија се преведени текст и уместо нашђих ћириличних и латиничних карактера у локалном форуму се виде упитници. Покушао сам да ово урадим и са записима, али је проблем остао исти.

О овоме сам писао и на [es] форумима крајем септембра, али нисам добио ваљаних одговора.

Данас сам мало тражио по нету (а.к.а. гуглао) и нашао решење око исправног увоза у локалну базу. Наиме, база која се извезе преко phpMyAdmin-а у UTF-8 кодном распореду у локалну базу треба да се дода преко шел наредбе:
# mysql -p назив_локлне_базе < добијена_база.sql
на овај начин ће двобајтни карактери остати нетакнути и адекватно третирани приликом SQL упита из форумског софтвера.

Објављено од стране

Александар

Данијелин супруг, Михаилов и Николин отац. Веб програмер и оснивач TechWebUX.

4 мишљења на „Спасавање MySQL базе“

  1. Ево мало лепше и срећније решенје од phpmyadmina за комплетни бекап целе базе, заједно са администраторским и корисничким налозима, решенје носи вертикалну компатабилност . Што га чини портабилним између две различите верзије mysql-a


    # mysqldump \
    -uroot \
    -p$PASSWORD \
    -hlocalhost \
    --all-databases \
    --all \
    --opt \
    --allow-keywords \
    --flush-logs \
    --hex-blob \
    --master-data \
    --max_allowed_packet=16M \
    --quote-names \
    --result-file=BACKUP.SQL

    Надам се да ће ово помоћи.
    Успут ово ћирилично – латинично решенје на блогу и није баш …

  2. # mysql -p назив_локлне_базе &добијена_база.sql

    Umesto znaka & treba da stoji znak za manje (a mozda je do konverzije cilirica<->latinica problem).

    mysql -hhost -uuser -ppass imebaze < dumpovan_fajl.sql

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *