MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Mengamankan Cadangan MySQL:Panduan

Jika Anda pernah menggunakan MySQL, kemungkinan besar Anda telah mem-backup database Anda. Jika Anda mengambil cadangan database Anda, kemungkinan Anda setidaknya pernah memikirkan bagaimana Anda bisa mengamankannya. Dalam postingan blog ini, kami akan memberi tahu Anda cara melakukannya.

Mengapa Anda Harus Mengamankan Backup MySQL Anda?

Sebelum kami memberi tahu Anda bagaimana Anda harus mengamankan cadangan MySQL Anda, kami mungkin harus memberi tahu Anda mengapa Anda harus mengamankannya sejak awal. Apa yang kami maksud dengan "mengamankan" cadangan MySQL Anda? Pencadangan MySQL harus aman secara default, bukan? Sayangnya, tidak semuanya sesederhana kelihatannya. Untuk mengambil dan memelihara cadangan MySQL yang aman, Anda harus mempertimbangkan hal-hal berikut:

  1. Ambil cadangan MySQL Anda dengan aman

  2. Simpan cadangan MySQL Anda dengan aman

  3. Transfer cadangan MySQL Anda dengan aman

Sekarang jelas lebih mudah diucapkan daripada dilakukan, tetapi kami akan memberikan beberapa saran umum yang dapat memandu Anda ke arah yang benar.

Mengamankan Cadangan MySQL

  1. Untuk mengambil cadangan MySQL Anda dengan aman menggunakan, misalnya, mysqldump, pertimbangkan untuk memasukkan nama pengguna dan sandi Pengguna MySQL di dalam my.cnf. Anda bahkan dapat membuat file .my.cnf di direktori home Anda, menyimpan nama pengguna dan kata sandi di sana, kemudian menggunakan opsi --defaults-extra-file untuk memberi tahu MySQL agar membaca file ini setelah file opsi global:

    [mysqldump]
    user=demo_user
    password=demo_password

    Dengan cara ini Anda tidak perlu lagi memberikan kata sandi MySQL Anda saat menjalankan mysqldump - dengan memasukkan nama pengguna dan kata sandi Anda ke dalam my.cnf Anda membuat kata sandi Anda tidak dapat diamati oleh orang lain selain DBA.

  2. Pertimbangkan untuk melihat ke mysqldump-secure:ini adalah skrip pembungkus yang sesuai dengan POSIX untuk mysqldump dengan kemampuan enkripsi. Alat ini dapat membuat cadangan database sebagai file terpisah. Basis data juga dapat masuk daftar hitam agar tidak dicadangkan. Alat ini juga dapat mengenkripsi database MySQL Anda dan juga memvalidasi sendiri artinya jika ada yang tidak beres, itu akan memberi tahu Anda apa yang terjadi dan bagaimana cara memperbaikinya, jadi jika Anda mencari alternatif untuk mysqldump, pertimbangkan untuk memberikannya coba.

  3. Setelah Anda membuat cadangan instans database MySQL atau MariaDB, pertimbangkan untuk mengenkripsinya. Kemungkinannya adalah data adalah salah satu aset paling berharga bagi organisasi Anda dan dengan mengenkripsinya, Anda dapat memastikannya terlindungi dengan baik. Untungnya, mengenkripsi cadangan MySQL tidak terlalu rumit dan dapat dilakukan dengan beberapa cara termasuk mengenkripsi file lokal dan mengenkripsi cadangan saat bepergian. Untuk mengenkripsi salinan lokal cadangan Anda, cukup ambil cadangan data yang disimpan di MySQL, lalu enkripsi dengan menggunakan, misalnya, OpenSSL (ganti kata sandi dengan kata sandi yang ingin Anda gunakan):

    $ openssl enc -aes-256-cbc -salt -in backup.tar.gz -out backup.tar.gz.enc -k password

    Cadangan Anda dapat didekripsi dengan menjalankan:

    $ openssl aes-256-cbc -d -in backup.tar.gz.enc -out backup.tar.gz -k password


    Anda juga dapat mempertimbangkan untuk mengenkripsi cadangan Anda saat itu juga. Untuk melakukan itu, secara umum Anda perlu menerapkan enkripsi saat cadangan dibuat (yaitu membuat cadangan, mengompresnya, dan mengenkripsinya). Berikut ini cara melakukannya untuk MySQL menggunakan mysqldump (cadangan Anda akan disebut enkripsi_backup.xb.enc):

    mysqldump --all-databases --single-transaction --triggers --routines | gzip | openssl  enc -aes-256-cbc -k password > encrypted_backup.xb.enc

    Anda juga dapat mengenkripsi cadangan menggunakan ClusterControl:cukup centang kotak “Gunakan Kompresi” dan (atau) “Aktifkan Enkripsi” di tahap terakhir pencadangan dan selesai . Ya, semudah itu!
     

Anda mungkin juga ingin melihat skrip shell yang disebut mysql_secure_installation (atau mariadb_secure_installation jika Anda menggunakan MariaDB). Skrip memungkinkan Anda untuk:

  • Setel sandi untuk akun root MySQL.

  • Hapus akun root yang dapat diakses dari luar localhost.

  • Hapus semua akun pengguna anonim dan database pengujian yang dapat diakses oleh pengguna anonim.

Jika Anda menerapkan MySQL atau MariaDB menggunakan ClusterControl, sesuatu yang dapat Anda lakukan secara bebas dengan Edisi Komunitas, proses penerapan secara otomatis menangani langkah-langkah keamanan ini.

Ringkasan

Ketika datang untuk mengamankan cadangan MySQL Anda, daftar hal-hal yang dapat Anda lakukan cukup panjang. Kami berharap posting blog ini memberi Anda beberapa ide tentang apa yang dapat Anda lakukan untuk mengamankan cadangan MySQL atau MariaDB Anda:secara umum, cadangan dapat diamankan dengan membuat kata sandi Anda tidak dapat diamati saat mysqldump dipanggil, juga saat mengenkripsi cadangan Anda secara lokal atau on- cepat.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana WEIGHT_STRING() Bekerja di MariaDB

  2. Pindah ke Cadangan MariaDB

  3. Bagaimana TIMESTAMP() Bekerja di MariaDB

  4. Memulai dengan ProxySQL - Tutorial Load Balancing MySQL &MariaDB

  5. MariaDB JSON_UNQUOTE() Dijelaskan