Jakiś czas temu opisano sposób w jaki można zarchiwizować bazę danych za pomocą popularnego phpMyAdmin. Zatem pora by opisać procedurę wykonania tej operacji za pomocą konsoli (na przykład za pomocą SSH). Wpis zilustrowano zrzutami ekranu spod konsoli Linuxa lecz pod Windows składnia jest identyczna.
Chesz przetestować działanie poniższych instrukcji, a nie masz dostępu do serwera Linuxowego? Po rejestacji na DigitalOcean otrzymasz 100 dolarów do wykorzystania w ciągu 60 dni, a z przyjaznym interfejsem uruchomisz ulubioną dystrybucję w ciągu paru minut.
Niniejszy wpis jest częścią cyklu o przeprowadzeniu zrzutów baz danych MySQL na który składają się następujące wpisy:
Zarówno do wykonania zrzutu i przywrócenia bazy potrzebne będzie login i hasło użytkownika który ma do niej dostęp oraz nazwa samej bazy. Na potrzeby wpisu użytkownik będzie miał nazwę nowyUzytkownik a bazą będzie przykladowaBaza. Do wykonania archiwum bazy wykorzystane będzie polecenie mysqldump a do jej przywrócenia: mysql. Oba z nich dostępne są domyślnie po instalacji MySqla.
Wykonanie zrzutu bazy z użyciem mysqldump
Najprostszym wariantem polecenia będzie mysqldump -u nowyUzytkownik -p przykladowaBaza > ./dump.sql które poprosi o hasło użytkownika nowyUzytkownik, a następnie wykona zrzut przykladowaBaza do pliku dump.sql w aktualnym katalogu.
Gdyby wykorzystywane były procedury składowane należy dodać parametr --routines.
Zatem w tym wypadku komendą będzie mysqldump --routines -u nowyUzytkownik -p przykladowaBaza > ./dump.sql.
Można także zapisać plik w innym katalogu bądź pod inną nazwą. W tym celu wystarczy zmodyfikować ścieżkę i nazwę pliku jaka jest po znaku >. W razie potrzeby zapisu pliku w katalogu /usr/backup i pod nazwą 2015-04-12.sql należy wpisać: mysqldump -u nowyUzytkownik -p przykladowaBaza > /usr/backup/2015-04-12.sql.
Przywrócenie bazy ze zrzutu
Do przywrócenia bazy potrzeba wywołać komendę mysql i przekierować zawartość pliku ze zrzutem. Dysponując plikiem dump.sql można przywrócić bazę przykladowaBaza poleceniem: mysql -u nowyUzytkownik -p przykladowaBaza < ./dump.sql.
Plik może znajdować się w zupełnie innym katalogu, a potrzebna będzie jedynie niewielka modyfikacja ścieżki: mysql -u nowyUzytkownik -p przykladowaBaza < /usr/backup/2015-04-12.sql.
Przekazywanie hasła w poleceniu
Przekazywanie hasła w poleceniu jest złą praktyką i powinno być wykorzystywane tylko w ostateczności lub gdy nie ma na to innej rady.
Zarówno w poleceniu mysqldump i mysql używany jest parametr -p który oznacza użycie hasła. W powyższych przypadkach był wpisany bez żadnej wartości, dlatego system za każdym razem pytał o hasło. Jednakże można je przekazać jawnie pisząc je zaraz (to znaczy bez żadnego odstępu) po parametrze -p
. Komendą do backupu będzie mysqldump -u nowyUzytkownik -p9rmvqx5nympfviy przykladowaBaza > ./dump.sql, a przywrócenia mysql -u nowyUzytkownik -p9rmvqx5nympfviy przykladowaBaza < ./dump.sql.
Pingback:Jak zapisać zawartość bazy do pliku używając SSMS – Techniczny.net
Pingback:Jak zapisać zawartość bazy MS SQL do pliku używając SSMS – Techniczny.net