Jak tworzyć kopię zapasową/przywrócić MySQL/MariaDB i PostgreSQL za pomocą narzędzi „AutomysqlbackUp” i

Jak tworzyć kopię zapasową/przywrócić MySQL/MariaDB i PostgreSQL za pomocą narzędzi „AutomysqlbackUp” i

Jeśli jesteś administratorem bazy danych (Dba) lub są odpowiedzialne za utrzymanie, tworzenie kopii zapasowej i przywracanie baz danych, wiesz, że nie możesz sobie pozwolić na utratę danych. Powód jest prosty: utrata danych oznacza nie tylko utratę ważnych informacji, ale także może zaszkodzić Twojej firmie finansowo.

MySQL/Mariadb i Postgresql Backup/Restore

Z tego powodu zawsze musisz upewnić się, że:

1. Twoje bazy danych są kopie zapasowe okresowo,
2. Te kopie zapasowe są przechowywane w bezpiecznym miejscu i
3. Regularnie wykonujesz ćwiczenia odbudowy.

To ostatnie działanie nie należy przeoczyć, ponieważ nie chcesz wpaść na poważny problem bez praktykowania tego, co należy zrobić w takiej sytuacji.

W tym samouczku przedstawimy Ci dwa fajne narzędzia do tworzenia kopii zapasowych Mysql / Mariadb I PostgreSQL Odpowiednio bazy danych: Automysqlbackup I AutopostgreSqlbackup.

Ponieważ ten drugi opiera się na tym pierwszym, skoncentrujemy się na naszym wyjaśnieniu Automysqlbackup i podkreśl różnice z Autopgsqlbackup, Jeśli w ogóle.

Zdecydowanie zaleca się przechowywanie kopii zapasowych w sieci zamontowanej w katalogu kopii zapasowej, aby w przypadku awarii systemu nadal będziesz pokryty.

Przeczytaj następujące przydatne przewodniki na MySQL:

MySQL Podstawowe polecenia administracji bazy danych MYSQL Polecnia do administracji bazy danych PhPMybackUppro - narzędzie do tworzenia kopii zapasowej MySQL oparte na sieci MySQLDumper: Narzędzie kopii zapasowej bazy danych MySQL na podstawie bazy danych MySQL na podstawie Baza bazowych dla administratorów baz danych

Instalowanie baz danych MySQL / MariaDB / PostgreSQL

1. Ten przewodnik zakłada, że ​​musisz mieć Mysql / Mariadb / PostgreSQL Instancja uruchomiona, jeśli nie, zainstaluj następujące pakiety:

Dystrybucje Fedora:

# Yum Update && Yum Instaluj Mariadb Mariadb-server Mariadb-libs postgresql postgresql-server postgresql-libs 

Debian i instrumenty pochodne:

# aktualizacja APTIDE && Aptitude instaluj mariadb-clint mariadb-server mariadb-common postgresql-client PostgreSql PostgreSQL-common 

2. Masz testowanie Mysql / Mariadb / PostgreSQL baza danych, której możesz użyć (zaleca się NIE Użyj jednego z nich Automysqlbackup Lub AutopostgreSqlbackup w środowisku produkcyjnym, dopóki nie poznasz tych narzędzi).

W przeciwnym razie utwórz dwie przykładowe bazy danych i wypełnij je danymi przed kontynuowaniem. W tym artykule użyję następujących baz danych i tabel:

Mysql/Mariadb
Utwórz bazę danych mariadb_db; Utwórz tabelę TecMint_TBL (UserId int Auto_increment Key, nazwa użytkownika Varchar (50), IsActive Bool); 
Utwórz bazę danych MySQL PostgreSQL
Utwórz bazę danych postgresql_db; Utwórz tabelę TECMINT_TBL (UserID szeregowy klucz podstawowy, nazwa użytkownika Varchar (50), Isactive Boolean); 
Utwórz bazę danych PostgreSQL

Instalowanie Automysqlbackup i autopgsqlbackup w Centos 7 i Debian 8

3. W Debian 8, Oba narzędzia są dostępne w repozytoriach, więc ich instalacja jest tak prosta, jak uruchamianie:

# Aptitude Zainstaluj Automysqlbackup AutopostgreSQLackup 

Podczas gdy w Centos 7 Będziesz musiał pobrać skrypty instalacyjne i uruchomić je. W poniższych sekcjach skupimy się wyłącznie na instalacji, konfiguracji i testowaniu tych narzędzi Centos 7 od czasu Debian 8 - gdzie prawie działają po wyjęciu z pudełka, dokonamy niezbędnych wyjaśnień w dalszej części tego artykułu.

Instalowanie i konfigurowanie Automysqlbackup w Centos 7

4. Zacznijmy od utworzenia działającego katalogu w środku /optować Aby pobrać skrypt instalacyjny i uruchom go:

# mkdir/opt/automysqlbackup # cd/opt/automysqlbackup # wget http: // ufpr.dl.Źródło.net/projekt/automysqlbackup/AutomysqlbackUp/Automysqlbackup%20ver%203.0/Automysqlbackup-V3.0_rc6.smoła.GZ # TAR ZXF Automysqlbackup-V3.0_rc6.smoła.GZ # ./zainstalować.cii 

.
Instalowanie Automysqlbackup w Centos-7

5. Plik konfiguracyjny dla Automysqlbackup znajduje się w środku /itp./Automysqlbackup pod imieniem Myserver.conf. Rzućmy okiem na najbardziej odpowiednie dyrektywy konfiguracyjne:

Myserver.Conf - skonfiguruj Automysqlbackup
# Nazwa użytkownika, aby uzyskać dostęp do mysql server config_mysql_dump_username = 'źródło' # Hasło config_mysql_dump_password ='Twój Passwordhere„ # Nazwa hosta (lub adres IP) MySQL Server config_mysql_dump_host =”Lokalny Gospodarz„ # Kopiark kopiany kopiany zapasowy config_backup_dir =”/var/backup/db/automysqlbackup„Lista baz danych do codziennej/cotygodniowej kopii zapasowej e.G. ('Db1 "db2" db3'…) # set to (), i.mi. puste, jeśli chcesz wykonać kopię zapasową wszystkich baz danych config_db_names = (Nazwy addyourdatabazy tutaj) # Lista baz danych dla miesięcznych kopii zapasowych. # Set to (), i.mi. puste, jeśli chcesz wykonać kopię zapasową wszystkich baz danych config_db_month_names = (Nazwy addyourdatabazy tutaj) # Którego dnia chcesz miesięczne kopie zapasowe? (01 do 31) # Jeśli wybrany dzień jest większy niż ostatni dzień miesiąca, zostanie to zrobione # w ostatnim dniu miesiąca. # Ustaw na 0, aby wyłączyć miesięczne kopie zapasowe. Config_do_monthly = "01„ # Którego dnia chcesz cotygodniowe kopie zapasowe? (1 do 7, gdzie 1 jest poniedziałek) # Ustaw na 0, aby wyłączyć cotygodniowe kopie zapasowe. Config_do_weekly = "5„ # Ustaw obrót codziennych kopii zapasowych. Wartość*24 godziny # Jeśli chcesz zachować tylko dzisiejsze kopie zapasowe, możesz wybrać 1, i.mi. Wszystko starsze niż 24 godziny zostanie usunięte. Config_rotation_daily =6 # Ustaw obrót dla cotygodniowych kopii zapasowych. Wartość*24 godziny. Wartość 35 oznacza 5 tygodni. Config_rotation_weekly =35 # Ustaw obrót dla miesięcznych kopii zapasowych. Wartość*24 godziny. Wartość 150 oznacza 5 miesięcy. Config_rotation_monthly =150 # Dołącz instrukcję Utwórz bazę danych w kopii zapasowej? Config_mysql_dump_create_database ='NIE' # Oddzielny katalog kopii zapasowej i plik dla każdego DB? (tak lub nie) config_mysql_dump_use_separate_dirs ='Tak' # Wybierz typ kompresji. (gzip lub bzip2) config_mysql_dump_compression =„gzip” # Co chciałbyś zostać wysłany do Ciebie? # - Log: Wyślij tylko plik dziennika # - Pliki: Wyślij plik dziennika i pliki SQL jako załączniki (patrz dokumenty) # - stdout: po prostu wyprowadzi dziennik na ekranie, jeśli uruchomi się ręcznie. # - Cicha: Wysyłaj dzienniki tylko wtedy, gdy wystąpi błąd do MailAddr. Config_mailcontent ='cichy' # Adres e -mail, aby wysłać pocztę? ([e -mail chroniony]) config_mail_address ='źródło' # Czy chcesz zaszyfrować kopie zapasowe za pomocą OpenSSL? # Config_encrypt = 'no' # wybierz hasło do szyfrowania kopii zapasowych. #Config_encrypt_password = 'hasło0123' #polecenie uruchomić przed tworzenie kopii zapasowych (odkupienie do użycia) #Config_PrebackUp = "/etc/mysql-backup-pre" #polecenie uruchom po kopii zapasowych (niezniszczanie) #Config_PostBackup = "/etc/mysql-backup -post" 

Po skonfigurowaniu Automysqlbackup Zgodnie z Twoimi potrzebami zdecydowanie radzisz sprawdzić Readme Plik znaleziony w /itp./Automysqlbackup/readme.

Kopia zapasowa bazy danych mysql

6. Gdy będziesz gotowy, śmiało i uruchom program, przekazując plik konfiguracyjny jako argument:

# Automysqlbackup/etc/Automysqlbackup/MyServer.conf 
Skonfiguruj automatycznebacku w Centos 7

Szybka kontrola codziennie Directory to pokaże Automysqlbackup działał pomyślnie:

# pwd # ls -lr codziennie 
Mysql Daily Batabase Backup

Oczywiście możesz dodać wpis crontab do uruchomienia Automysqlbackup W porze dnia najlepiej odpowiada Twoim potrzebom1:30 Jestem codziennie w poniższym przykładzie):

30 01 * * */usr/local/bin/automysqlbackup/etc/Automysqlbackup/myserver.conf 

Przywracanie kopii zapasowej MySQL

7. Teraz upuśćmy MARIADB_DB Baza danych celowo:

Upuść bazę danych Mariadb

Utwórzmy go ponownie i przywróć kopię zapasową. W monicie MariaDB wpisz:

Utwórz bazę danych mariadb_db; Wyjście 

Następnie zlokalizuj:

# cd/var/backup/db/automysqlbackup/codziennie/mariadb_db # ls 
Znajdź kopię zapasową bazy danych Mariadb

I przywróć kopię zapasową:

# mysql -u root -p mariadb_db Użyj mariadb_db; Mariadb [(brak)]> Wybierz * Z TecMint_TB1; 
Przywróć kopię zapasową Mariadb

Instalowanie i konfigurowanie autopostgreSqlbackup w Centos 7

8. W celu AutopostgreSQL pracować bezbłędnie Centos 7, Najpierw będziemy musieli zainstalować pewne zależności:

# Yum Instal Mutt Sendmail 

Następnie powtórzmy proces jak poprzednio:

# mkdir/opt/autopostgresqlbackup # cd/opt/autopostgresqlbackup # wget http: // ufpr.dl.Źródło.net/projekt/autopgsqlbackup/autopostgreSqlbackUp/autopostgreSqlbackUp-1.0/autopostgreSqlbackup.cii.1.0 # mv autopostgreSqlbackup.cii.1.0/opt/autopostgreSqlbackUp/autopostgreSqlbackUp.cii 

Uczyńmy skrypt wykonywany i początek / włączać Serwis:

# CHMOD 755 AUTOPOSTGRESQLBACUP.SH # Systemctl Start PostgreSQL # Systemctl Włącz PostgreSQL 

Na koniec edytujemy wartość ustawienia katalogu kopii zapasowej na:

AutopostgreSqlbackup.SH - Skonfiguruj autopostgreSqlbackup
Backupdir = "/var/backup/db/autopostgreSqlbackUp" 

Po przebyciu pliku konfiguracyjnego Automysqlbackup, Konfigurowanie tego narzędzia jest bardzo łatwe (ta część zadania pozostaje dla Ciebie).

9. W Centos 7, w przeciwieństwie do Debian 8, AutopostgreSqlbackup najlepiej biegać jako Postgres Użytkownik systemu, więc aby to zrobić, należy przełączyć na to konto lub dodać zadanie CRON do jego pliku Crontab:

# crontab -u postgres -e 
30 01 * * */opt/autopostgresqlbackup/autopostgreSqlbackUp.cii 

Nawiasem mówiąc, należy tworzyć katalog kopii zapasowej, a jego uprawnienia i własność grupy muszą być ustawione rekurencyjnie 0770 I Postgres (Znowu nie będzie to konieczne w Debian):

# mkdir/var/backup/db/autopostgreSqlbackup # chmod -r 0770/var/backup/db/autopostgreSQLbackup # chgrp -r postgres/var/backup/db/autopostgresqlbackUp 

Wynik:

# cd/var/backup/db/autopostgresqlbackup # pwd # ls -lr codziennie 
Kopia zapasowa bazy danych PostgreSQL Daily

10. Teraz możesz przywrócić pliki w razie potrzeby (pamiętaj, aby zrobić to jako postgres użytkownika po odtworzeniu pustej bazy danych):

# gunzip -c postgresql_db_2015-09-02.Środa.SQL.GZ | PSQL Postgresql_DB 

Rozważania w Debian 8

Jak wspomnialiśmy wcześniej, nie tylko instalacja tych narzędzi w Debian jest bardziej proste, ale także ich odpowiednie konfiguracje. Pliki konfiguracyjne znajdziesz w:

  1. Automysqlbackup:/etc/default/automysqlbackup
  2. AutopostgreSqlbackup:/etc/default/autopostgreSqlbackup

Streszczenie

W tym artykule wyjaśniliśmy, jak zainstalować i używać Automysqlbackup I AutopostgreSqlbackup (Uczenie się, jak korzystać z pierwszego, pomoże Ci opanować również drugie), dwa świetne narzędzia do tworzenia kopii zapasowych, które mogą ułatwić Twoje zadania jako administrator / inżynier systemu DBA lub.

Pamiętaj, że możesz rozwinąć ten temat, konfigurując powiadomienia e-mailowe lub wysyłanie plików kopii zapasowych jako załączników za pośrednictwem poczty elektronicznej - nie jest to wyłącznie wymagane, ale czasami może się przydać.

Jako ostatnia uwaga pamiętaj, że uprawnienia plików konfiguracyjnych powinny być ustawione na minimum (0600 w większości przypadków). Z niecierpliwością czekamy na to, co myślisz o tym artykule. Zapraszam do upuszczenia nam notatki za pomocą poniższego formularza.