Jak tworzyć kopię zapasową/przywrócić MySQL/MariaDB i PostgreSQL za pomocą narzędzi „AutomysqlbackUp” i
- 1252
- 380
- Roland Sokół
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/RestoreZ 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 danychInstalowanie 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/MariadbUtwó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.confSkonfiguruj automatycznebacku w Centos 7
Szybka kontrola codziennie Directory to pokaże Automysqlbackup działał pomyślnie:
# pwd # ls -lr codziennieMysql 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 MariadbUtwó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 # lsZnajdź 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 autopostgreSqlbackupBackupdir = "/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 codziennieKopia 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:
- Automysqlbackup:/etc/default/automysqlbackup
- 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.
- « Zainstaluj YouTube -DL - narzędzie do pobierania wideo wiersza poleceń dla Linux
- Showterm.IO - Nagrywanie, przesyłanie i udostępnienie terminali/powłoki »