Стратегии за импортиране на големи MySQL бази данни
Импортиране на PHPMyAdmin
Вероятно е, ако четете това, PHPMyAdmin не е опция за импортиране на голяма MySQL база данни. Въпреки това винаги си струва да опитате, нали? Най-честата причина за неуспех при импортирането на PHPMyAdmin е надвишаването на ограничението за импортиране. Ако работите локално или имате собствен сървър, можете да опитате да промените MySQL ini настройките, които обикновено се намират във файла my.ini, намиращ се в папката за инсталиране на MySQL. Ако работите с WAMP на Windows, можете да получите достъп до този файл чрез контролния панел на WAMP под MySQL> my.ini. Не забравяйте да рестартирате WAMP, за да се използват новите ви настройки. Настройките, които може да искате да увеличите тук, включват:
max_allowed_packet
read_buffer_size
Дори и с подобрени настройки за импортиране на MySQL, все още може да откриете, че импортира изчакване поради PHP настройки. Ако имате достъп до PHP.ini, можете да правите редакции на максималното време за изпълнение и свързаните настройки. В WAMP отворете файла PHP.ini под контролния панел на WAMP на PHP> php.ini. Помислете за повишаване на ограниченията за следните настройки, докато опитвате голям MySQL импорт:
max_execution_time
max_input_time
memory_limit
Използване на разпределен MySQL дъмп импортер на Big Dump
Ако основното импортиране на PHPMyAdmin не работи, може да искате да опитате скрипта Big Dump от Ozerov.de за поетапно импортиране на MySQL. Това, което прави този полезен скрипт, е да стартира вашия импорт в по-малки блокове, което е точно това, което често е необходимо за успешно импортиране на голям дъмп на MySQL. Това е безплатно изтегляне на адрес http://www.ozerov.de/bigdump/ .
Процесът на използване на Big Dump е доста прост:вие основно позиционирате вашия SQL файл за импортиране и скрипта Big Dump заедно на сървъра, задавате няколко конфигурации в скрипта Big Dump и след това стартирате скрипта. Big Dump се справя с останалото!
Един ключов момент за тази иначе страхотна опция е, че тя изобщо няма да работи при експортиране на MySQL, което съдържа разширени вмъквания. Така че, ако имате възможност да предотвратите разширени вмъквания, опитайте. В противен случай ще трябва да използвате друг метод за импортиране на вашия голям MySQL файл.
Отидете на командния ред с MySQL конзолата
Ако използвате WAMP (и дори да не сте), винаги има опция да намалите и импортирате голямата си MySQL база данни с помощта на MySQL конзолата. Импортирам 4GB база данни по този начин, докато пиша тази публикация. Което всъщност е причината да прекарам известно време за писане, защото дори този метод отнема време, когато имате 4GB SQL файл за импортиране!
Някои разработчици (обикновено аз) се плашат от отварянето на черен екран и въвеждането на загадъчни команди в него. Но това може да бъде освобождаващо, а когато става въпрос за MySQL бази данни, това често е най-добрият път. В WAMP имаме достъп до MySQL конзолата от контролния панел на WAMP в MySQL> MySQL Console. Сега нека научим 2-те прости команди на MySQL Console, от които се нуждаете, за да импортирате MySQL база данни, стил на командния ред:
use `db_name`
Команда use
последвано от името на базата данни ще каже на MySQL конзолата коя база данни искате да използвате. Ако вече сте настроили базата данни, към която импортирате, тогава започвате с издаване на use
команда. Да предположим, че вашата база данни се казва my_great_database
. В този случай издайте следната команда в MySQL конзолата. Имайте предвид, че командите трябва да завършват с точка и запетая.
mysql-> use my_great_database;
mysql-> source sql_import_file.sql
Команда source
последвано от местоположението на SQL файл, ще импортира SQL файла в базата данни, която сте посочили по-рано с use
команда. Трябва да предоставите пътя, така че ако използвате WAMP на вашия локален сървър, започнете, като поставите SQL файла някъде, лесно за достъп, като например C:\sql\my_import.sql. Пълната команда с този примерен път би била:
mysql-> source C:\sql\my_import.sql;
След като изпълните тази команда, SQL файлът трябва да започне да се импортира. Оставете заявките да се изпълняват и оставете импортирането да завърши, преди да затворите MySQL конзолата.
Допълнителна документация за командния ред на MySQL може да бъде намерена тук:http:// dev.mysql.com/doc/refman/5.5/en/mysql.html .
Друго решение е да използвате MySQL Workbench .