Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mencadangkan seluruh database MySQL dengan semua pengguna dan izin dan kata sandi?

Pada dasarnya, perintah mysqldump yang dapat Anda gunakan adalah:

mysqldump -u$user -p$pass -S $socket --all-databases > db_backup.sql

Itu akan mencakup database mysql, yang akan memiliki semua tabel pengguna/privs.

Ada kelemahan untuk menjalankan ini pada sistem produksi karena dapat menyebabkan penguncian. Jika meja Anda cukup kecil, itu mungkin tidak berdampak signifikan. Anda akan ingin mengujinya terlebih dahulu.

Namun, jika Anda menjalankan lingkungan InnoDB murni, Anda dapat menggunakan --single-transaction flag yang akan membuat dump dalam satu transaksi (dapatkan) sehingga mencegah penguncian pada database. Perhatikan, ada kasus sudut di mana FLUSH TABLES awal perintah yang dijalankan oleh dump dapat mengunci tabel. Jika demikian, matikan dump dan mulai ulang. Saya juga merekomendasikan bahwa jika Anda menggunakan ini untuk tujuan pencadangan, gunakan --master-data tandai juga untuk mendapatkan koordinat log biner dari tempat dump diambil. Dengan begitu, jika Anda perlu memulihkan, Anda dapat mengimpor file dump dan kemudian menggunakan mysqlbinlog perintah untuk memutar ulang file log biner dari posisi tempat dump ini diambil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CakePHP / Mysql Sisipkan UTF-8

  2. Cara mendapatkan data tabel gabungan menggunakan metode query()

  3. Mengapa menggunakan pernyataan yang disiapkan mysql lebih aman daripada menggunakan fungsi escape umum?

  4. Codeigniter bergabung dengan permintaan beberapa kondisi tidak berfungsi

  5. Hubungkan ke instance mysql OpenShift (Redhat Paas)