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

Ekspor Database MySQL Atau MariaDB

Mengambil cadangan database secara teratur adalah salah satu langkah penting setelah membuat proyek hidup. Frekuensi backup bisa sekali dalam sehari atau seminggu. Pencadangan harian lebih disukai untuk aplikasi di mana perubahan basis data lebih sering terjadi. Dalam kasus database ketersediaan tinggi, pengaturan cluster yang sesuai harus dipertimbangkan daripada penskalaan vertikal. Tutorial ini menjelaskan penggunaan mysqldump perintah untuk mengambil cadangan database. Perintah yang sama dapat diotomatisasi untuk mengambil pencadangan terjadwal.

Catatan :Tutorial ini hanya mencakup opsi paling umum yang digunakan dengan mysqldump memerintah. Anda juga dapat merujuk ke dokumentasi resmi untuk menjelajahi semua opsi yang memungkinkan. Perintah yang sama dapat digunakan untuk mengambil cadangan server database MySQL dan MariaDB.

Cadangan Lokal

Cadangan - Bagian ini menjelaskan mengambil cadangan lokal dalam file dengan mengekspor database tunggal atau ganda.

Izin - mysqldump membutuhkan hak istimewa yang tercantum di bawah ini untuk mengekspor database. Hak istimewa yang sesuai harus diberikan ke akun pengguna yang digunakan untuk mengekspor database.

  • PILIH - untuk membuang tabel
  • TAMPILKAN TAMPILAN - untuk membuang tampilan
  • PICU - untuk membuang pemicu
  • LOCK TABLES - jika opsi --transaksi tunggal tidak digunakan

Perintah - Disebutkan di bawah ini adalah penggunaan mysqldump perintah untuk mengambil cadangan lokal untuk sistem berbasis Windows dan Linux termasuk Ubuntu. Titik tiga berarti beberapa nilai dapat diberikan.

# Regular command - Usage - Windows, Linux
mysqldump [options] db_name [tbl_name ...] > <file path>
mysqldump [options] --databases db_name ... > <file path>
mysqldump [options] --all-databases > <file path>

Contoh untuk menggunakan perintah reguler adalah seperti yang disebutkan di bawah ini. Contoh perintah ini menggunakan perusahaan pengguna untuk mengambil cadangan basis data perusahaan . Tidak perlu menentukan pengguna dan sandi jika akun pengguna menggunakan auth_socket algoritma untuk login ke server MySQL. Pengguna sistem dapat langsung mengakses database. Anda dapat merujuk Cara Menggunakan Kata Sandi Asli Dengan MySQL 5.7 dan Cara Menginstal MySQL 8 di Ubuntu untuk mempelajari lebih lanjut tentang algoritme kata sandi.

Catatan :Tidak perlu menggunakan opsi -p, jika tidak ada kata sandi yang diberikan kepada pengguna.

Disebutkan di bawah ini adalah contoh untuk membuat cadangan satu database dengan nama pengguna, host, dan port. Sandi tidak boleh diberikan dengan perintah ini untuk tujuan keamanan. Anda dapat menentukan sandi untuk mysqldump dalam file konfigurasi yang dianggap sebagai opsi aman untuk cron pekerjaan. Pilihan lain adalah menggunakan perintah cat untuk menggunakan kata sandi terenkripsi (mirip dengan cara Plesk menggunakan) seperti yang ditunjukkan pada contoh. Sistem akan meminta kata sandi jika tidak disediakan dalam perintah. Perintah ini dapat digunakan untuk mengekspor seluruh database atau tabel tunggal atau ganda.

# All tables - with username, without password - prompts for password
mysqldump -u enterprise -p enterprise > enterprise.sql

# All tables - with username, with password - insecure
mysqldump -u enterprise -p'mypwd' enterprise > enterprise.sql

# All tables - with username, with password - Plesk way
mysqldump -u enterprise -p`cat /etc/psa/.psa.shadow` dbname > dbname.sql

# All tables - with host, with port, with username, without password - prompts for password
mysqldump -h localhost -p 3306 -u enterprise -p enterprise > enterprise.sql

# Single table(user) - with username, without password - prompts for password
mysqldump -u enterprise -p enterprise [user] > enterprise.sql

# Multiple tables(user, profile) - with username, without password - prompts for password
mysqldump -u enterprise -p enterprise user profile > enterprise.sql

Disebutkan di bawah ini adalah contoh untuk membuat cadangan beberapa database dengan nama pengguna, host, dan port.

# Multiple databases - with username, without password - prompts for password
mysqldump -u enterprise -p --databases enterprise vblog mshop > mydbs.sql

# Multiple databases - with username, with password
mysqldump -u enterprise -p'mypwd' --databases enterprise vblog mshop > mydbs.sql

Disebutkan di bawah ini adalah contoh untuk membuat cadangan semua database dengan nama pengguna, host, dan port.

# All databases - with username, without password - prompts for password
mysqldump -u enterprise -p --all-databases > mydbs.sql

# All databases - with username, with password
mysqldump -u enterprise -p'mypwd' --all-databases > mydbs.sql

Pengguna PowerShell di Windows akan membutuhkan perintah yang berbeda seperti yang disebutkan di bawah ini.

# PowerShell on Windows
shell> mysqldump [options] db_name [tbl_name ...] --result-file=<file path>
shell> mysqldump [options] --databases db_name ... --result-file=<file path>
shell> mysqldump [options] --all-databases --result-file=<file path>

# Example
shell> mysqldump -u enterprise -p enterprise --result-file=mydump.sql

Perintah yang disebutkan di atas akan mengekspor database dan tabel yang dipilih ke lokasi file yang ditentukan dalam perintah.

Cadangan Basis Data

Bagian ini menjelaskan mengambil cadangan basis data ke basis data lain yang digunakan untuk tujuan pencadangan menggunakan Shell Pipes. Kita dapat mengekspor database ke file lokal dan kemudian menggunakan file ini untuk mengimpor ke database lain atau langsung mengekspor ke database lain menggunakan pipa shell.

Perintah yang disebutkan di bawah ini dapat digunakan untuk mengekspor database langsung ke database lain. Selain itu, pastikan Anda memiliki akses ke kedua server sebelum menjalankan perintah.

# Export database to another database - Same server
mysqldump -u enterprise -p enterprise | mysql enterprise_backup

# Export database to another database - Different server
mysqldump -u enterprise -p enterprise | mysql -h host.example.com -p 3306 enterprise

Beginilah cara kami mengekspor atau membuat cadangan database.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membuat Database MySQL Menggunakan cPanel API

  2. Cara mengimpor dan mengekspor database melalui phpMyAdmin ('Akses ditolak buat database db_name' error)

  3. Berikan Izin ke Pengguna MySQL di Linux melalui Command Line

  4. Optimalisasi pencarian MySQL menggunakan like dan wildcard

  5. Permintaan lambat saat menggunakan ORDER BY