Presun databaze mezi MYSQL 4 na 5, kodovani

Michal Novak m.novak na prodiliste.cz
Čtvrtek Leden 5 11:56:48 CET 2006


Petr Bartel wrote:
> Dobry den,
> resim takovy problemek. Provadim presun dat na novy server a narazil
> jsem. Mam tu phprs+phpbb na starem serveru je mysql Ver 12.22 Distrib
> 4.0.24, for pc-linux-gnu (i386) a je to debian a tudiz jsem zadne
> kodovani , ziskavani dat nemusel zadavat. Apache 1.3 jsem rekl ze je to
> ISO-8859-2 a nastavil jsem to pro toho virtualniho hosta jako
> AddDefaultCharset.
>    Jenze jestlize chci presunout databazi na novy stroj, narazim na
> problem. Je tam mysql  Ver 14.12 Distrib 5.0.16, for pc-linux-gnu (i486)
> using readline 5.0 a ta si preje aby bylo zadano kodovani....
> 
> Rad bych tedy vedel, co mohu delat abych co nejjednoduseji presunul
> data, popr. globalne nastavil mysql na novem serveru. Popr. jak upravit
> data ? Zkousel jsem po dumpu z stareho serveru je prohnat pres recode z
> latin2 do utf8 a pak to naimportovat na server novy a pak jsem nastavil
> ve virtual hostu UTF8, data z mysql byly cesky a bohuzel zbytek textu
> ne. Zajima me jestli tedy napr. znovu pres recode prekodovat zbytek
> textu  (phprs) na disku nebo jestli to lze resit jinak ?
> 
> Dalsi experiment co jsem zkousel bylo pridat do my.cnf do sekce mysqld
> 
> character_set_server=latin2
> collation_server=latin2_czech_cs
> 
> lec to mi prenastavilo jen nektere casti mysql
> 
> Takze muze me nekdo nasmerovat ne najeke jednoduche AJ nebo
> vycerpavajici CZ/SK howto kde se dozvim jak to poradne nastavit a jak
> nasledne prenos provedst.
> 
> Diky moc za vase rady a pripominky
> 
>                       Petr

Predne je treba si uvedomit, ze se musi MySQL rict, jake budem pouzivat 
kodovani pri kazdem pripojeni do DB. Ona to totiz 5ka umi prekodovat. 
Kdyz se ji to nerekne, tak se bude pravdepodobne pouzivat ISO-8859-1 
(zalezi na nastaveni). Je treba take uvest, v jakem kodovani jsou 
ulozena data v jednotlivych tabulkach.

Jinak doporucuju pri prechodu to vse prekodovat do UTF a ulozit to do DB 
tak. Je tu taky alternativa si prekompilovat MySQL k obrazu svemu a 
dosahnout tak chovani nizsich vezi - naproste ignorace kodovani.

tusim toto je spravna sekce:
[mysqld]
character-set-server		= utf8
default-character-set		= utf8
init-connect="SET NAMES utf8"

Predevsim ten posledni radek.

MN


Další informace o konferenci Linux