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

Cara Mencadangkan dan Mengembalikan (Ekspor dan Impor) Tutorial Database MySQL

phpMyAdmin dapat digunakan untuk mengekspor atau membuat cadangan database MySQL atau MariaDB dengan mudah. Namun, jika ukuran database sangat besar, mungkin itu bukan ide yang bagus. phpMyAdmin memungkinkan pengguna untuk menyimpan database dump sebagai file atau tampilan di layar, yang melibatkan mengekspor pernyataan SQL dari server, dan mengirimkan data melalui koneksi jaringan yang lebih lambat atau Internet ke komputer pengguna. Proses ini memperlambat proses ekspor, menambah waktu penguncian basis data sehingga MySQL atau MariaDB tidak tersedia, memperlambat server, dan mungkin membuat server Apache HTTPD crash jika terlalu banyak koneksi web masuk yang memonopoli sumber daya sistem.

Cara yang lebih baik untuk mencadangkan dan mengekspor database MySQL atau MariaDB adalah dengan melakukan tugas secara lokal di server, sehingga data tabel dapat langsung dibuang ke disk lokal tanpa penundaan. Dengan demikian kecepatan ekspor akan lebih cepat dan mengurangi waktu database atau tabel MySQL atau MariaDB dikunci untuk mengakses. Tutorial ini adalah panduan tentang cara mencadangkan (mengekspor) dan memulihkan (mengimpor) database MySQL atau MariaDB di server database itu sendiri dengan menggunakan mysqldump dan mysql keperluan. Pada dasarnya ada dua metode untuk membackup MySQL atau MariaDB , salah satunya adalah dengan menyalin semua file tabel (file *.frm, *.MYD, dan *.MYI) atau dengan menggunakan mysqlhotcopy utilitas, tetapi hanya berfungsi untuk tabel MyISAM. Tutorial di bawah ini akan berkonsentrasi pada mysqldump yang berfungsi untuk tabel MyISAM dan InnoDB.

Cara Mengekspor atau Mencadangkan atau Membuang Database MySQL atau MariaDB

Untuk mengekspor database MySQL atau MariaDB ke file dump, cukup ketik sintaks perintah berikut di shell. Anda dapat menggunakan Telnet atau SSH untuk login dari jarak jauh ke mesin jika Anda tidak memiliki akses ke kotak fisik.

mysqldump -u username -ppassword database_name > dump.sql

Ganti nama pengguna dengan ID pengguna MySQL atau MariaDB yang valid, sandi dengan kata sandi yang valid untuk pengguna (PENTING:tidak ada spasi setelah -p dan kata sandi, jika tidak, mysqldump akan meminta kata sandi Anda namun akan memperlakukan kata sandi sebagai nama basis data, sehingga pencadangan akan gagal) dan nama_database dengan nama sebenarnya dari database yang ingin Anda ekspor. Akhirnya, Anda dapat memasukkan nama apa pun yang Anda suka untuk file dump SQL keluaran, di sini telah dump.sql .

Seluruh data, tabel, struktur dan database nama_database akan dicadangkan ke dalam file teks SQL bernama dump.sql dengan perintah di atas.

Cara Mengekspor Struktur Database MySQL atau MariaDB Saja

Jika Anda tidak lagi membutuhkan data di dalam tabel database (tidak mungkin), cukup tambahkan –tidak ada data beralih untuk mengekspor hanya struktur tabel. Misalnya, sintaksnya adalah:

mysqldump -u username -ppassword --no-data database_name > dump.sql

Cara Mencadangkan Hanya Data dari Database MySQL atau MariaDB

Jika Anda hanya ingin data dicadangkan, gunakan –no-create-info pilihan. Dengan pengaturan ini, dump tidak akan membuat ulang database, tabel, bidang, dan struktur lain saat mengimpor. Gunakan ini hanya jika Anda cukup yakin bahwa Anda memiliki database duplikat dengan struktur yang sama, di mana Anda hanya perlu me-refresh data.

mysqldump -u username -ppassword --no-create-info database_name > dump.sql

Cara Membuang Beberapa Database MySQL atau MariaDB ke File Teks

–database pilihan memungkinkan Anda untuk menentukan lebih dari 1 database. Contoh sintaks:

mysqldump -u username -ppassword --databases db_name1 [db_name2 ...] > dump.sql

Cara Membuang Semua Basis Data di Server MySQL atau MariaDB

Untuk membuang semua database, gunakan –all-databases opsi, dan tidak ada nama database yang perlu ditentukan lagi.

mysqldump -u username -ppassword --all-databases > dump.sql

Cara Mencadangkan Tabel InnoDB Secara Online

Pencadangan database tak terhindarkan menyebabkan server MySQL atau MariaDB tidak tersedia untuk aplikasi karena saat mengekspor, semua tabel memperoleh kunci baca global menggunakan FLUSH TABLES WITH READ LOCK di awal dump hingga selesai. Jadi meskipun pernyataan READ dapat dilanjutkan, semua pernyataan INSERT, UPDATE dan DELETE harus mengantri karena tabel terkunci, seolah-olah MySQL atau MariaDB sedang down atau terhenti. Jika Anda menggunakan InnoDB, –transaksi tunggal adalah cara untuk meminimalkan durasi waktu penguncian ini hingga hampir tidak ada seolah-olah melakukan pencadangan online. Ia bekerja dengan membaca koordinat log biner segera setelah kunci diperoleh, dan kunci kemudian segera dilepaskan.

Sintaks:

mysqldump -u username -ppassword  --all-databases --single-transaction > dump.sql

Cara Memulihkan dan Mengimpor Database MySQL atau MariaDB

Anda dapat memulihkan dari phpMyAdmin, menggunakan tab Impor. Untuk cara yang lebih cepat, unggah file dump ke server MySQL atau MariaDB, dan gunakan perintah berikut untuk mengimpor database kembali ke server MySQL atau MariaDB.

mysql -u username -ppassword database_name < dump.sql
Jika Anda ingin terhubung ke server MySQL atau MariaDB dari jarak jauh di server lain, tambahkan -h server-name-or-IP-address ke perintah.

Impor dan ekspor database MySQL atau MariaDB tidak hanya penting untuk memulihkan data saat terjadi bencana, tetapi juga menyediakan cara mudah untuk bermigrasi atau pindah ke server lain, seperti saat berpindah penyedia hosting web. Namun, perhatikan bahwa satu masalah umum – pengkodean set karakter. Rilis mysqldump yang lebih baru menggunakan UTF8 sebagai rangkaian karakter default jika tidak ada yang ditentukan, sementara versi yang lebih lama (biasanya lebih tua dari 4.1) menggunakan Latin1 sebagai rangkaian karakter default. Jika Anda database charset adalah Latin1 dan dump dalam susunan UTF8, data mungkin berakhir menjadi sampah, kacau, atau tidak terbaca (sering terjadi dengan blog WordPress). Jika demikian, gunakan –default-character-set=charset_name opsi untuk menentukan set karakter atau mengonversi database ke UTF8.


  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 Mengganti Nama Database di MySQL

  2. Kode Kesalahan 1292 - Nilai GANDA salah terpotong - Mysql

  3. Bagaimana cara memprogram pemicu MySQL untuk memasukkan baris ke tabel lain?

  4. MySQL:ALTER IGNORE TABLE memberikan pelanggaran batasan Integritas

  5. Bagaimana Fungsi WEIGHT_STRING() Bekerja di MySQL