Portál AbcLinuxu, 10. května 2025 01:59

Dotaz: Migrace dat v MySQL

27.8.2009 17:39 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Migrace dat v MySQL
Přečteno: 904×
Odpovědět | Admin
Potřebuju přenést databázi mezi 2 stroji. Když jsem se díval do adresáře v /var/lib/mysql, kde jsou databáze uložené, tak jsou tam jednak adresáře podle jmen databáze a pak také nějaké soubory mysqld-bin.xxxx. A právě ty soubory mysqld-bin.xxxx mají skoro 12GB. Je nutné je taky překopírovat na nový stroj, nebo stačí jenom adresáře s názvy databázi?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Dalibor Smolík avatar 27.8.2009 17:46 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pokud vím, tak nutné to není. Na novém stroji se nainstaluje mysql a vše, co k tomu patří (php, apache, atd.), prověřil, zda program funguje  a pak jen přenést  příslušnou databázi - např. /var/lib/mysql/pracovni_databaze na nový stroj. Někdy je potřeba opravit některé tabulky (repair table tabulka) a mělo by to fachat.

Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
27.8.2009 17:59 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
Pozor, to platí jen při použití MyISAM tabulek!

Pokud databáze používá InnoDB, tak je obsah patřičných tabulek uložen v jediném souboru (případně ve více velkých souborech, lze nastavit parametry mysqld).
27.8.2009 18:04 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
Ovšem tyto soubory se nejmenují mysqld-bin (pokud si to dobře pamatuji tak je to replikační log). Takže pokud tu databázi neinstaloval nějaký sadistický BOFH, mělo by skutečně stačit jen zkopírovat adresář se jménem databáze. Jo a nastavit práva (v databázi jménem mysql).
27.8.2009 17:48 eth4rendil | skóre: 13
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin

spravte si radsej kompletnu zalohu pomocou mysql administrator a potom ju obnovte na druhej masine.

27.8.2009 19:48 Morelo2211 | skóre: 7
Rozbalit Rozbalit vše Re: Migrace dat v MySQL

Ja by som prv exportoval udaje z tabuliek do suborov pomocou PHPMyadmin a potom importoval na druhy PC.

27.8.2009 23:32 moo
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
ja by som na to radsej pouzil mysqldump, pretoze PMA je v tomto pripade sialenstvo
28.8.2009 00:13 camel1cz | skóre: 25
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin

Ty veliké soubory budou logy (nejspíš replikační a transakční od InnoDB tabulek). V zásadě je přenášet nepotřebujete.

 

Správný postup migrace je:

1) na původním stroji dejte mysqldump -u xxxx -p xxxx jmeno_db > dump.sql

2} zkopírovat soubor s dumpem na nový stroj

3) na novém stroji mysql -u xxx -p xxx < dump.sql

 

Je třeba pohlídat nastavení práv a účty do DB... půjdou dumpnout stejně jako ostatní uživatelské databáze (jsou v databázi mysql), ale raději bych účty vytvořil znova a nebo to pořádně prozkoušel.

 

Kopírovat datové adresáře lze, ale musíte hodně dobře vědět co děláte - často se liší verze serverů, InnoDB tabulky také nejsou tak triviální (data jsou v několika velkých souborech, které nejsou pojmenované po databázích) a tyto jsou společné pro všechny InnoDB databáze.

28.8.2009 12:03 moo
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
v 1 aj 3 mas chybu.. pri -p[medzera]... na heslo promptne, dalsi argument by znacil nazov databazy; spravne to je -pxxhesloxx (bez medzery) alebo --password=xxhesloxx
28.8.2009 13:56 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Migrace dat v MySQL
A jde nějak omezit velikost těchto souborů? MySQL používám jenom pro vývoj a tak velkou transakční historii nepotřebuju.
28.8.2009 21:13 camel1cz | skóre: 25
Rozbalit Rozbalit vše Re: Migrace dat v MySQL

Nastavení není úplně triviální, ale půjde zřejmě o parametr innodb_log_file_size a mělo by stačit nastavit několik málo desítek MB.

 

Více na http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.