Jak zaimportować dużą bazę danych z pliku do MySQL
W przypadku małych plików SQL zawierających zrzut z bazy danych możemy je zaimportować np. przy użyciu narzędzia phpMyAdmin, bądź programów służących do zarządzania bazami danych takich jak: DbVisualizer czy HeidiSQL. Problemy zaczynają się kiedy plik jest sporych rozmiarów i powyższe narzędzia nie radzą sobie z nim. Możemy albo podzielić plik na mniejsze i ładować je po kolei, bądź też skorzystać z programu mysql i załadować plik sql z poziomu linii komend.
Składnia wywołania programu jest następująca:
mysql -u [user] -p < baza.sql
Zakładając, że chcemy załadować plik: baza.sql
, nasza baza ma nazwę: sklep
, a jej użytkownik to root
polecenie wyglądać będzie następująco:
mysql -u root -p -D sklep < baza.sql
Parametry użyte w poleceniu oznaczają:-u
– nazwa użytkownika bazy danych-p
– hasło użytkownika bazy danych-D
– nazwa bazy danych
Po wydaniu polecenia zostaniemy poproszeni o wpisanie hasła, jeżeli takie zostało ustawione i nastąpi przywracanie zawartości bazy danych. Możemy oczywiście podać hasło już w momencie wywołania polecenia. Wyglądać będzie ono następująco:
mysql -u root -p M0jeTajneH@sl0 -D sklep < baza.sql
Podczas importu możemy również zdefiniować domyślnie kodowanie znaków. W naszym przykładzie będzie to: UTF
-8
mysql --default-character-set=utf8 -u root -p -D sklep < plik.sql