Přesun obří MySQL databáze

User avatar
Ashus
Administrátor
Posts: 417
Joined: 07. 07. 2007 10:51
Location: Ostrava - Polanka nad Odrou
Contact:

Přesun obří MySQL databáze

Postby Ashus » 08. 03. 2012 08:50

V případě, že budete potřebovat přesunout obří databázi - např. 1GB velkou, z jednoho stroje na jiný, setkáte se s několika problémy.

Začneme klasicky: vytvoříme dump databáze:

Code: Select all

mysqldump -uroot -pheslo dbname > dump.sql
Bohužel pro jakoukoli úpravu dumpu se setkáte s problémem, kdy nebudete moci otevřít tak velký soubor v editoru (mcedit, nano). Proto bude nutné soubor rozkouskovat a zase spojit - a budete potřebovat dvojnásobek místa na disku.

Code: Select all

mkdir dump; split -b 1MB dump.sql dump/dump.
/* úpravy zde */
cat dump/* > dump2.sql; rm -r dump/

Dále je vhodné na začátek dumpu přidat tyto řádky snižující zátěž při importu:

Code: Select all

SET foreign_key_checks=0;
SET sql_log_bin=0;
SET unique_checks=0; 
A za každý CREATE TABLE, kde budou stotisíce řádků vložíme:

Code: Select all

ALTER TABLE tablename DISABLE KEYS; 
Není nutné řešit enable keys, protože to se provede po importu automaticky.


Soubory zase spojíme a už jen provedeme čistý import:

Code: Select all

mysql -uroot -pheslo dbname < dump.sql
Image
Coffee phreak!

Who is online

Users browsing this forum: No registered users and 1 guest

cron