Cara sandaran/memulihkan mysql/mariadb dan postgresql menggunakan alat 'automysqlbackup' dan 'autopostgresqlbackup'

Cara sandaran/memulihkan mysql/mariadb dan postgresql menggunakan alat 'automysqlbackup' dan 'autopostgresqlbackup'

Sekiranya anda adalah pentadbir pangkalan data (DBA) atau bertanggungjawab untuk mengekalkan, menyokong, dan memulihkan pangkalan data, anda tahu anda tidak mampu kehilangan data. Sebabnya mudah: kehilangan data bukan sahaja bermakna kehilangan maklumat penting, tetapi juga boleh merosakkan perniagaan anda secara kewangan.

MySQL/Mariadb & PostgreSQL Backup/Restore

Atas sebab itu, anda mesti sentiasa memastikan bahawa:

1. pangkalan data anda disokong secara berkala,
2. sandaran tersebut disimpan di tempat yang selamat, dan
3. anda melakukan latihan pemulihan dengan kerap.

Aktiviti terakhir ini tidak boleh diabaikan, kerana anda tidak mahu menghadapi masalah utama tanpa mengamalkan apa yang perlu dilakukan dalam keadaan sedemikian.

Dalam tutorial ini, kami akan memperkenalkan anda kepada dua utiliti yang bagus untuk disandarkan Mysql / Mariadb dan PostgreSQL Pangkalan data, masing -masing: Automysqlbackup dan Autopostgresqlbackup.

Oleh kerana yang terakhir didasarkan pada bekas, kami akan menumpukan penjelasan kami mengenai Automysqlbackup dan menyerlahkan perbezaan dengan AutoPGSQLBackup, Sekiranya ada sama sekali.

Sangat disyorkan untuk menyimpan sandaran dalam bahagian rangkaian yang dipasang di direktori sandaran supaya sekiranya berlaku kemalangan sistem, anda masih akan dilindungi.

Baca panduan berguna berikut pada MySQL:

Pentadbiran Pangkalan Data Mysql Basic memerintahkan sandaran dan memulihkan arahan untuk pentadbiran pangkalan data phpmybackuppro - alat sandaran mysql berasaskan web mysqldumper: alat sandaran pangkalan data php dan perl berdasarkan

Memasang pangkalan data MySQL / MariaDB / PostgreSQL

1. Panduan ini menganggap yang mesti anda miliki Mysql / Mariadb / PostgreSQL Contoh berjalan, jika tidak, sila pasang pakej berikut:

Pengagihan berasaskan Fedora:

# yum kemas kini && yum pasang mariadb mariadb-server mariadb-libs postgresql postgresql-server postgresql-libs 

Debian dan Derivatif:

# Kemas kini Aptitude & Aptitude Pasang MariaDB-Client MariaDB-Server MariaDB-Common PostgreSql-Client Postgresql PostgreSql-Common 

2. Anda mempunyai ujian Mysql / Mariadb / PostgreSQL pangkalan data yang boleh anda gunakan (anda dinasihatkan untuk Tidak Gunakan sama ada Automysqlbackup atau Autopostgresqlbackup dalam persekitaran pengeluaran sehingga anda mengenali alat ini).

Jika tidak, buat dua pangkalan data sampel dan penduduknya dengan data sebelum meneruskan. Dalam artikel ini saya akan menggunakan pangkalan data dan jadual berikut:

MySQL/MariaDB
Buat pangkalan data MariaDB_DB; Buat Jadual TECMINT_TBL (UserId Int Auto_INCREMENT Utama utama, nama pengguna varchar (50), isaktif bool); 
Buat Pangkalan Data MySQL PostgreSQL
Buat pangkalan data PostgreSQL_DB; Buat jadual TECMINT_TBL (UserID Serial Utama Kunci, Nama Pengguna Varchar (50), ISACTIVE BOOLEAN); 
Buat pangkalan data PostgreSQL

Memasang Automysqlbackup dan AutoPGSQLBackup di CentOS 7 dan Debian 8

3. Dalam Debian 8, Kedua -dua alat ini boleh didapati di repositori, jadi memasangnya semudah berjalan:

# Aptitude Pasang Automysqlbackup AutoPostGreSqlBackup 

Sedangkan dalam Centos 7 anda perlu memuat turun skrip pemasangan dan menjalankannya. Di bahagian di bawah, kami akan memberi tumpuan secara eksklusif untuk memasang, mengkonfigurasi, dan menguji alat ini Centos 7 memandangkan Debian 8 - di mana mereka hampir bekerja di kotak, kami akan membuat penjelasan yang diperlukan kemudian dalam artikel ini.

Memasang dan Mengkonfigurasi Automysqlbackup di CentOS 7

4. Mari kita mulakan dengan membuat direktori kerja di dalam /Memilih Untuk memuat turun skrip pemasangan dan jalankan:

# mkdir/opt/automysqlbackup # cd/opt/automysqlbackup # wget http: // ufpr.dl.SourceForge.bersih/projek/automysqlbackup/automysqlbackup/automysqlbackup%20ver%203.0/Automysqlbackup-V3.0_RC6.tar.gz # tar zxf automysqlbackup-v3.0_RC6.tar.GZ # ./Pasang.sh 

.
Memasang Automysqlbackup di CentOS-7

5. Fail konfigurasi untuk Automysqlbackup terletak di dalam /etc/automysqlbackup di bawah nama Myserver.Conf. Mari kita lihat arahan konfigurasi yang paling relevan:

Myserver.conf - konfigurasikan automysqlbackup
# Nama Pengguna untuk mengakses MySQL Server config_mysql_dump_username = 'akar' # Kata laluan config_mysql_dump_password ='Yourpasswordhere' # Nama Host (atau alamat IP) MySQL Server config_mysql_dump_host ='localhost' # Direktori sandaran config_backup_dir ='/var/sandaran/db/automysqlbackup' # Senarai pangkalan data untuk sandaran harian/mingguan e.g. ('Db1 "db2" db3' ...) # ditetapkan ke (), i.e. kosong, jika anda ingin membuat sandaran semua pangkalan data config_db_names = (Nama AddyourDatabase di sini) # Senarai pangkalan data untuk sandaran bulanan. # ditetapkan ke (), i.e. kosong, jika anda ingin membuat sandaran semua pangkalan data config_db_month_names = (Nama AddyourDatabase di sini) # Hari mana anda mahukan sandaran bulanan? (01 hingga 31) # Jika hari yang dipilih lebih besar daripada hari terakhir bulan ini, ia akan dilakukan # pada hari terakhir bulan ini. # Tetapkan ke 0 untuk melumpuhkan sandaran bulanan. Config_do_monthly = "01" # Hari mana yang anda mahukan sandaran mingguan? (1 hingga 7 di mana 1 Isnin) # ditetapkan ke 0 untuk melumpuhkan sandaran mingguan. Config_do_weekly = "5" # Tetapkan putaran sandaran harian. Nilai*24 jam # jika anda ingin menyimpan hanya sandaran hari ini, anda boleh memilih 1, i.e. Semua yang lebih tua dari 24 jam akan dikeluarkan. Config_rotation_daily =6 # Tetapkan putaran untuk sandaran mingguan. Nilai*24 jam. Nilai 35 bermakna 5 minggu. Config_rotation_weekly =35 # Tetapkan putaran untuk sandaran bulanan. Nilai*24 jam. Nilai 150 bermakna 5 bulan. Config_rotation_monthly =150 # Sertakan penyataan Pangkalan Data Create dalam sandaran? Config_mysql_dump_create_database ='Tidak' # Direktori sandaran berasingan dan fail untuk setiap db? (ya atau tidak) config_mysql_dump_use_separate_dirs ='Ya' # Pilih jenis mampatan. (gzip atau bzip2) config_mysql_dump_compression ='gzip' # Apa yang anda ingin dihantar kepada anda? # - Log: Hantar Hanya Log Fail # - Fail: Hantar Fail Log dan Fail SQL Sebagai Lampiran (Lihat Dokumen) # - Stdout: Hanya akan mengeluarkan log ke skrin jika dijalankan secara manual. # - Tenang: Hanya hantar log jika ralat berlaku ke mailaddr. Config_mailcontent ='senyap' # Alamat e -mel untuk menghantar surat ke? ([dilindungi e -mel]) config_mail_address ='akar' # Adakah anda ingin menyulitkan sandaran anda menggunakan OpenSSL? # Config_encrypt = 'no' # pilih kata laluan untuk menyulitkan sandaran. #Config_encrypt_password = 'password0123' #command to run sebelum backups (uncomment to use) #config_prebackup = "/etc/mysql-backup-pre" #command run selepas backups (uncomment untuk digunakan) #config_postbackup = "/etc/mysql-backup -Post " 

Sebaik sahaja anda telah mengkonfigurasi Automysqlbackup mengikut keperluan anda, anda sangat menasihatkan untuk memeriksa BACA SAYA fail yang terdapat di /etc/automysqlbackup/readme.

Sandaran pangkalan data MySQL

6. Apabila anda sudah bersedia, teruskan dan jalankan program, lulus fail konfigurasi sebagai hujah:

# automysqlbackup/etc/automysqlbackup/myserver.Conf 
Konfigurasikan automysqlbackup pada CentOS 7

Pemeriksaan cepat terhadap setiap hari Direktori akan menunjukkan bahawa Automysqlbackup berjaya berjalan:

# pwd # ls -lr setiap hari 
Sandaran pangkalan data harian mysql

Sudah tentu anda boleh menambah entri crontab untuk dijalankan Automysqlbackup pada suatu hari yang paling sesuai dengan keperluan anda (1:30 setiap hari dalam contoh di bawah):

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

Memulihkan sandaran MySQL

7. Sekarang mari kita jatuhkan Mariadb_db pangkalan data dengan tujuan:

Drop pangkalan data MariaDB

Mari buat lagi dan pulihkan sandaran. Dalam Prompt MariaDB, taip:

Buat pangkalan data MariaDB_DB; keluar 

Kemudian cari:

# cd/var/sandaran/db/automysqlbackup/harian/mariadb_db # ls 
Cari sandaran pangkalan data MariaDB

Dan memulihkan sandaran:

# mysql -u root -p MariaDB_DB Gunakan MariaDB_DB; MariaDB [(tiada)]> pilih * dari tecmint_tb1; 
Pulihkan sandaran MariaDB

Memasang dan Mengkonfigurasi AutopostgreSqlbackup di CentOS 7

8. Agar Autopostgresql untuk bekerja dengan sempurna Centos 7, Kita perlu memasang beberapa kebergantungan terlebih dahulu:

# yum memasang mutt sendmail 

Kemudian mari kita ulangi proses seperti dahulu:

# mkdir/opt/autopostgresqlbackup # cd/opt/autopostgresqlbackup # wget http: // ufpr.dl.SourceForge.bersih/projek/autopgsqlbackup/autopostgresqlbackup/autopostgresqlbackup-1.0/AutopostgreSqlBackup.sh.1.0 # mv autopostgresqlbackup.sh.1.0/opt/autopostgresqlbackup/autopostgresqlbackup.sh 

Mari buat skrip boleh dilaksanakan dan Mula / membolehkan Perkhidmatan:

# chmod 755 autopostgresqlbackup.SH # Systemctl Mula PostgreSql # Systemctl Dayakan PostgreSQL 

Akhirnya, kami akan mengedit nilai tetapan direktori sandaran ke:

Autopostgresqlbackup.SH - Konfigurasi AutopostgreSqlBackup
Backupdir = "/var/sandaran/db/autopostgresqlbackup" 

Setelah melalui fail konfigurasi Automysqlbackup, Mengkonfigurasi Alat ini sangat mudah (bahagian tugas yang tersisa untuk anda).

9. Dalam Centos 7, yang bertentangan dengan Debian 8, Autopostgresqlbackup dijalankan terbaik sebagai Postgres Pengguna sistem, jadi untuk melakukan itu, anda harus beralih ke akaun itu atau menambah pekerjaan cron ke fail crontabnya:

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

Direktori sandaran, dengan cara, perlu diwujudkan dan keizinannya dan pemilikan kumpulan mesti ditetapkan secara rekursif ke 0770 dan Postgres (Sekali lagi, ini tidak perlu Debian):

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

Keputusan:

# cd/var/sandaran/db/autopostgresqlbackup # pwd # ls -lr setiap hari 
Backup Pangkalan Data Harian PostgreSQL

10. Sekarang anda boleh memulihkan fail apabila diperlukan (ingat untuk melakukan ini sebagai pengguna postgres selepas mencipta pangkalan data kosong):

# Gunzip -C PostgreSQL_DB_2015-09-02.Rabu.SQL.Gz | PSQL POSTGRESQL_DB 

Pertimbangan dalam Debian 8

Seperti yang telah disebutkan sebelumnya, bukan sahaja pemasangan alat -alat ini Debian lebih mudah, tetapi juga konfigurasi masing -masing. Anda akan menemui fail konfigurasi di:

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

Ringkasan

Dalam artikel ini kami telah menjelaskan cara memasang dan menggunakan Automysqlbackup dan Autopostgresqlbackup (belajar bagaimana menggunakan yang pertama akan membantu anda menguasai kedua juga), dua alat sandaran pangkalan data yang hebat yang dapat menjadikan tugas anda sebagai DBA atau pentadbir sistem / jurutera lebih mudah.

Sila ambil perhatian bahawa anda boleh mengembangkan topik ini dengan menubuhkan Pemberitahuan e -mel atau menghantar fail sandaran sebagai lampiran melalui e -mel - tidak diperlukan dengan ketat, tetapi mungkin berguna kadang -kadang.

Sebagai nota akhir, ingatlah bahawa keizinan fail konfigurasi harus ditetapkan pada minimum (0600 dalam kebanyakan kes). Kami berharap dapat mendengar pendapat anda mengenai artikel ini. Jangan ragu untuk menggugurkan nota kami menggunakan borang di bawah.