Wprawdzie zazwyczaj do operacji związanych z kopią zapasową MySQL śmiało można korzystać z phpMyAdmin, to czasem może być konieczne skorzystanie z linii poleceń.

MySQL: eksport i import bazy danych

Dlatego dziś postaram się Wam pokazać, jak w prosty sposób można wykonać podstawowe operacje związane z tworzeniem (i odtwarzaniem) kopii zapasowej baz(y) danych korzystając z linii komend – przyda się nie tylko w skryptach.

Tworzenie kopii zapasowej (eksport) bazy danych

W tym celu wykonania kopii konkretnej bazy korzystamy z polecenia:

mysqldump -u nazwa_użytkownika -p nazwa_bazy > backup.sql

Jeśli chcemy zrobić kopię wszystkich baz lekko modyfikujemy polecenie:

mysqldump -u nazwa_użytkownika -p --all-databases > backup.sql

Przywracanie bazy z kopii zapasowej (import)

Jeśli chcemy przywrócić/zaimportować bazę danych wystarczy skorzystać z polecenia:

mysql -u nazwa_użytkownika -p nazwa_bazy < backup.sql

Adres serwera bazy danych (host)

Domyślnie wszystkie operacje wykonywane są na maszynie lokalnej, czyli „localhost” (-h localhost), ale nic nie stoi na przeszkodzie by wykonać operacje na zdanym serwerze:

mysqldump -u nazwa_użytkownika -h nazwa_hosta_lub_adres_ip -p nazwa_bazy > backup.sql

mysql -h localhost -u nazwa_użytkownika -p nazwa_bazy < backup.sql

Hasło użytkownika

Jeśli pojawi się konieczność podania hasła użytkownika w poleceniu (np. w skrypcie) wystarczy uzupełnić parametr/opcję „-p”:

-phasło

Czyli:

mysqldump -h nazwa_hosta_lub_adres_ip -u nazwa_użytkownika -phasło nazwa_bazy > backup.sql

mysql -h nazwa_hosta_lub_adres_ip -u nazwa_użytkownika -phasło nazwa_bazy < backup.sql

Zwracam uwagę na brak spacji między „-p” a hasłem.

Dedykowany użytkownik

Jeśli zamierzacie wykonywać kopie zapasowe z pomocą skryptów, to warto stworzyć nowego użytkownika, który będzie miał tylko niezbędne uprawnienia.

Użytkownik do tworzenia kopii zapasowych

Wymagane uprawnienia:

SELECT, FILE, SHOW VIEW, SUPER, RELOAD, SHOW DATABASES, LOCK TABLES

Użytkownik do tworzenia i przywracania kopii zapasowych

Wymagane uprawnienia:

SELECT, INSERT, FILE, CREATE, ALTER, INDEX, DROP, SHOW VIEW, SUPER RELOAD, SHUTDOWN, SHOW DATABASES, LOCK TABLES

Tworzenie nowego użytkownika

Nowego użytkownika można utworzyć za pomocą phpMyAdmin, lub za pośrednictwem konsoli:

sudo mysql -uroot -p

GRANT [UPRAWNIENIA] ON *.* TO 'nazwa_użytkownika'@'localhost' IDENTIFIED BY 'hasło';

flush privileges;

quit

Przykładowa komenda:

GRANT SELECT, FILE, SHOW VIEW, SUPER, RELOAD, SHOW DATABASES, LOCK TABLES ON *.* TO 'nazwa_użytkownika'@'localhost' IDENTIFIED BY 'hasło';

Tak skonfigurowany użytkownik będzie mógł odczytywać bazy danych (tworzyć kopie), ale nie będzie mógł ich zapisywać (np. przywracać).

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Roztańczona Karolina dzięki motywowi Divi od Elegant Themes właśnie skończyła pierwszą stronę
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera!