Cara mencadangkan/mengembalikan mysql/mariadb dan postgresql menggunakan alat 'automysqlbackup' dan 'autopostgresqlbackup'

Cara mencadangkan/mengembalikan mysql/mariadb dan postgresql menggunakan alat 'automysqlbackup' dan 'autopostgresqlbackup'

Jika Anda adalah administrator database (DBA) atau bertanggung jawab untuk memelihara, mendukung, dan memulihkan database, Anda tahu Anda tidak mampu kehilangan data. Alasannya sederhana: kehilangan data tidak hanya berarti hilangnya informasi penting, tetapi juga dapat merusak bisnis Anda secara finansial.

Mysql/mariadb & postgresql backup/restore

Untuk alasan itu, Anda harus selalu memastikan bahwa:

1. Database Anda didukung secara berkala,
2. cadangan itu disimpan di tempat yang aman, dan
3. Anda melakukan latihan restorasi secara teratur.

Kegiatan terakhir ini tidak boleh diabaikan, karena Anda tidak ingin mengalami masalah besar tanpa mempraktikkan apa yang perlu dilakukan dalam situasi seperti itu.

Dalam tutorial ini kami akan memperkenalkan Anda pada dua utilitas yang bagus untuk mendukung Mysql / Mariadb Dan PostgreSQL Database, masing -masing: automysqlbackup Dan autopostgresqlbackup.

Karena yang terakhir didasarkan pada yang pertama, kami akan memfokuskan penjelasan kami pada automysqlbackup dan menyoroti perbedaan dengan Autopgsqlbackup, Jika ada.

Sangat disarankan untuk menyimpan cadangan dalam berbagi jaringan yang dipasang di direktori cadangan sehingga jika terjadi kecelakaan di seluruh sistem, Anda masih akan dibahas.

Baca berikut Panduan Berguna di MySQL:

Perintah Administrasi Basis Data MySQL MySQL MySQL Backup dan mengembalikan perintah untuk administrasi basis data PhpMybackuppro - alat cadangan mysql berbasis web MySQLDUMPER: PHP dan Perl berbasis MySQL Backup Tool 15 Pertanyaan Wawancara MySQL Dasar untuk Database Administrator Database Berbasis Perl Berbasis Perl berbasis 15

Menginstal database MySQL / MariADB / POSTGRESQL

1. Panduan ini mengasumsikan yang harus Anda miliki Mysql / Mariadb / PostgreSQL instance berjalan, jika tidak, silakan instal paket berikut:

Distribusi berbasis Fedora:

# yum update && yum instal mariadb mariadb-server mariadb-libs postgresql postgresql-server postgresql-libs 

Debian dan Derivatif:

# aptitude update && aptitude instal mariadb-client mariadb-server mariadb-common postgresql-client postgresql postgresql-common 

2. Anda memiliki pengujian Mysql / Mariadb / PostgreSQL database yang dapat Anda gunakan (Anda disarankan untuk BUKAN Gunakan keduanya automysqlbackup atau autopostgresqlbackup di lingkungan produksi sampai Anda berkenalan dengan alat -alat ini).

Jika tidak, buat dua database sampel dan mengisinya dengan data sebelum melanjutkan. Dalam artikel ini saya akan menggunakan database dan tabel berikut:

Mysql/mariadb
Buat basis data mariadb_db; Buat tabel tecmint_tbl (UserId int auto_increment kunci utama, nama pengguna varchar (50), bool isactive); 
Buat MySQL Database PostgreSQL
Buat database postgresql_db; Buat tabel tecmint_tbl (kunci primer serial userid, nama pengguna varchar (50), boolean isactive); 
Buat database PostgreSQL

Menginstal automysqlbackup dan autopgsqlbackup di Centos 7 dan Debian 8

3. Di dalam Debian 8, Kedua alat tersedia di repositori, sehingga menginstalnya sesederhana berjalan:

# aptitude instal automysqlbackup autopostgresqlbackup 

Sedangkan di Centos 7 Anda perlu mengunduh skrip instalasi dan menjalankannya. Di bagian di bawah ini kami akan fokus secara eksklusif pada menginstal, mengkonfigurasi, dan menguji alat -alat ini Centos 7 sejak Debian 8 - Di mana mereka hampir bekerja di luar kotak, kami akan membuat klarifikasi yang diperlukan nanti dalam artikel ini.

Menginstal dan Mengkonfigurasi AutomySQLBackup di Centos 7

4. Mari kita mulai dengan membuat direktori yang berfungsi di dalam /memilih untuk mengunduh skrip instalasi dan menjalankannya:

# mkdir/opt/automysqlbackup # cd/opt/automysqlbackup # wget http: // ufpr.dl.SourceForge.Net/Project/AutomySQLBackup/AutomySQLBackup/AutomySQLBackup%20Ver%203.0/automysqlbackup-v3.0_RC6.ter.GZ # TAR ZXF AUTOMYSQLBACKUP-V3.0_RC6.ter.GZ # ./Install.SH 

.
Menginstal AutomySQLBackup di CentOS-7

5. File konfigurasi untuk automysqlbackup terletak di dalam /etc/automysqlbackup atas nama MyServer.conf. Mari kita lihat arahan konfigurasi yang paling relevan:

MyServer.conf - configure automysqlbackup
# Nama pengguna untuk mengakses MySQL Server config_mysql_dump_username = 'akar' # Kata sandi config_mysql_dump_password ='Yourpasswordhere' # Nama host (atau alamat IP) dari server mySQL config_mysql_dump_host ='localhost' # Direktori Backup Config_backup_dir ='/var/cadangan/db/automysqlbackup' # Daftar database untuk cadangan harian/mingguan e.G. ('Db1 "db2" db3' ...) # diatur ke (), i.e. kosong, jika Anda ingin mencadangkan semua database config_db_names = (Nama AddyOurDatabase di sini) # Daftar database untuk cadangan bulanan. # diatur ke (), saya.e. kosong, jika Anda ingin mencadangkan semua database config_db_month_names = (Nama AddyOurDatabase di sini) # Hari mana Anda ingin cadangan bulanan? (01 hingga 31) # Jika hari yang dipilih lebih besar dari hari terakhir bulan itu, itu akan dilakukan # pada hari terakhir bulan itu. # Diatur ke 0 untuk menonaktifkan cadangan bulanan. Config_do_monthly = "01" # Hari mana Anda ingin cadangan mingguan? (1 hingga 7 di mana 1 hari Senin) # ditetapkan ke 0 untuk menonaktifkan cadangan mingguan. Config_do_weekly = "5" # Atur rotasi cadangan harian. Nilai*24 jam # Jika Anda hanya ingin menyimpan cadangan hari ini, Anda dapat memilih 1, saya.e. Segala sesuatu yang lebih tua dari 24 jam akan dihapus. Config_rotation_daily =6 # Atur rotasi untuk cadangan mingguan. Nilai*24 jam. Nilai 35 berarti 5 minggu. Config_rotation_weekly =35 # Atur rotasi untuk cadangan bulanan. Nilai*24 jam. Nilai 150 berarti 5 bulan. Config_rotation_monthly =150 # Sertakan Pernyataan Buat Database di Cadangan? Config_mysql_dump_create_database ='TIDAK' # Direktori dan file cadangan terpisah untuk setiap DB? (ya atau tidak) config_mysql_dump_use_separate_dirs ='Ya' # Pilih Jenis Kompresi. (gzip atau bzip2) config_mysql_dump_compression ='gzip' # Apa yang ingin Anda kirimkan kepada Anda? # - Log: Kirim Hanya File Log # - File: Kirim File Log dan File SQL Sebagai Lampiran (Lihat Dokumen) # - STDOUT: Cukup output log ke layar jika dijalankan secara manual. # - Tenang: Hanya kirim log jika terjadi kesalahan pada MailAddr. Config_mailcontent ='diam' # Alamat email untuk mengirim surat ke? ([email dilindungi]) config_mail_address ='akar' # Apakah Anda ingin mengenkripsi cadangan Anda menggunakan OpenSSL? # Config_encrypt = 'no' # Pilih kata sandi untuk mengenkripsi cadangan. #Config_encrypt_password = 'kata sandi0123' #perintah untuk menjalankan sebelum cadangan (uncomment untuk digunakan) #config_preBackup = "/etc/mysql-backup-pe" #perintah run setelah cadangan (uncomment untuk digunakan) #config_postbackup = "/etc/mysql-backup) #config_postbackup ="/etc/mysql-crackup -pos" 

Setelah Anda mengkonfigurasi automysqlbackup Sesuai kebutuhan Anda, Anda sangat menyarankan untuk memeriksa Baca aku file ditemukan di /etc/automysqlbackup/readme.

Cadangan Basis Data MySQL

6. Saat Anda siap, lanjutkan dan jalankan program, meneruskan file konfigurasi sebagai argumen:

# automysqlbackup/etc/automysqlbackup/myserver.conf 
Konfigurasikan AutomySQLBackup di Centos 7

Pemeriksaan cepat dari sehari-hari Direktori akan menunjukkan itu automysqlbackup telah berjalan dengan sukses:

# pwd # ls -lr setiap hari 
MySQL Daily Database Backup

Tentu saja Anda dapat menambahkan entri crontab untuk dijalankan automysqlbackup pada waktu hari yang paling sesuai dengan kebutuhan Anda (1:30 Saya setiap hari dalam contoh di bawah ini):

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

Memulihkan cadangan mysql

7. Sekarang mari kita jatuhkan mariadb_db Database dengan sengaja:

Jatuhkan basis data mariadb

Mari kita buat lagi dan kembalikan cadangan. Di prompt Mariadb, ketik:

Buat basis data mariadb_db; KELUAR 

Kemudian temukan:

# CD/VAR/BACKUP/DB/AUTOMYSQLBACKUP/DAILY/MARIADB_DB # ls 
Temukan cadangan basis data mariadb

Dan kembalikan cadangan:

# mysql -u root -p mariadb_db menggunakan mariadb_db; Mariadb [(tidak ada)]> pilih * dari tecmint_tb1; 
Kembalikan cadangan mariadb

Menginstal dan Mengkonfigurasi AutopostgresQLBackup di Centos 7

8. Untuk Autopostgresql untuk bekerja dengan sempurna Centos 7, Kita perlu menginstal beberapa dependensi terlebih dahulu:

# yum instal mutt sendmail 

Lalu mari kita ulangi prosesnya seperti sebelumnya:

# mkdir/opt/autopostgresqlbackup # cd/opt/autopostgresqlbackup # wget http: // ufpr.dl.SourceForge.NET/Project/AutoPgSQLBackup/AutoPostGresQLBackup/AutoPostGresQLBackup-1.0/autopostgresqlbackup.SH.1.0 # mv autopostgresqlbackup.SH.1.0/opt/autopostgresqlbackup/autopostgresqlbackup.SH 

Mari kita buat skrip dapat dieksekusi dan awal / memungkinkan layanan:

# chmod 755 autopostgresqlbackup.SH # Systemctl Mulai PostgreSQL # Systemctl Aktifkan PostgreSQL 

Akhirnya, kami akan mengedit nilai pengaturan direktori cadangan ke:

autopostgresqlbackup.SH - Konfigurasikan AutopostgresQLBackup
Backupdir = "/var/backup/db/autopostgresqlbackup" 

Setelah melalui file konfigurasi automysqlbackup, Mengkonfigurasi alat ini sangat mudah (bagian dari tugas itu diserahkan kepada Anda).

9. Di dalam Centos 7, sebagai lawan Debian 8, autopostgresqlbackup paling baik dijalankan sebagai postgres Pengguna sistem, jadi untuk melakukan itu, Anda harus beralih ke akun itu atau menambahkan pekerjaan cron ke file crontab -nya:

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

Direktori cadangan, omong -omong, perlu dibuat dan izin serta kepemilikan kelompoknya harus ditetapkan secara rekursif 0770 Dan postgres (Sekali lagi, ini tidak akan diperlukan Debian):

# mkdir/var/backup/db/autopostgresqlbackup # chmod -r 0770/var/backup/db/autopostgresqlbackup # chgrp -r postgres/var/cadangan/db/autopostgresqlbackup 

Hasil:

# CD/VAR/BACKUP/DB/AUTOPOSTGREGRESQLBACKUP # PWD # LS -LR Daily 
Pencadangan Basis Data Harian PostgreSQL

10. Sekarang Anda dapat mengembalikan file saat dibutuhkan (ingat untuk melakukan ini sebagai postgres pengguna setelah menciptakan kembali database kosong):

# gunzip -c postgresql_db_2015-09-02.Rabu.SQL.GZ | PSQL POSTGRESQL_DB 

Pertimbangan di Debian 8

Seperti yang kami sebutkan sebelumnya, tidak hanya pemasangan alat ini Debian lebih mudah, tetapi juga konfigurasi masing -masing. Anda akan menemukan file konfigurasi di:

  1. Automysqlbackup:/etc/default/automysqlbackup
  2. Autopostgresqlbackup:/etc/default/autopostgresqlbackup

Ringkasan

Dalam artikel ini kami telah menjelaskan cara menginstal dan menggunakan automysqlbackup Dan autopostgresqlbackup (Mempelajari cara menggunakan yang pertama akan membantu Anda menguasai yang kedua juga), dua alat cadangan database hebat yang dapat membuat tugas Anda sebagai DBA atau Administrator / Insinyur Sistem lebih mudah.

Harap dicatat bahwa Anda dapat memperluas topik ini dengan menyiapkan notifikasi email Atau mengirim file cadangan sebagai lampiran melalui email - tidak diperlukan secara ketat, tetapi kadang -kadang berguna.

Sebagai catatan terakhir, ingatlah bahwa izin file konfigurasi harus diatur ke minimum (0600 umumnya). Kami berharap dapat mendengar pendapat Anda tentang artikel ini. Jangan ragu untuk memberi kami catatan menggunakan formulir di bawah ini.