Skip to main content

Apa itu mysqldump dan How Do I Use It?

SQL Databases and the Firebase Database - The Firebase Database For SQL Developers #1 (Juni 2025)

SQL Databases and the Firebase Database - The Firebase Database For SQL Developers #1 (Juni 2025)
Anonim

Sebagai salah satu database terdepan yang tersedia secara bebas, MySQL adalah pilihan yang populer untuk semua jenis aplikasi web. Terkena internet, aplikasi Anda tentu saja terkena serangan jahat. Jika server Anda disusupi, paling tidak Anda perlu menginstal ulang aplikasi Anda; paling buruk, Anda mungkin kehilangan data Anda sepenuhnya. Anda juga akhirnya akan berada dalam situasi di mana Anda perlu memigrasi database dari satu server ke yang lain.

Untuk Apa Mysqldump Digunakan?

Itu mysqldump alat telah Anda bahas untuk kedua situasi ini. Ini fungsi dasar adalah mengambil database MySQL dan "membuang" itu sebagai file teks. Tapi bukan sembarang file teks … file tersebut adalah a Kumpulan pernyataan SQL. Pernyataan-pernyataan ini, ketika dieksekusi, akan membangun kembali database Anda ke keadaan yang tepat saat Anda menjalankan dump.

Jadi Anda bisa menggunakannya mysqldump untuk mengambil ekspor database. Ini bisa untuk tujuan backup, atau karena Anda memindahkan database ke host baru. Dalam kasus apa pun, Anda akan pada titik tertentu impor file teks kembali ke server database MySQL. Ini akan mengeksekusi semua pernyataan SQL dalam file, yang membangun kembali DB Anda ke keadaan semula. Bagian ini sebenarnya tidak menggunakan mysqldump perintah, tetapi itu tidak akan mungkin tanpa utilitas ini juga!

Daftar MySQL membuat metode lain untuk membuat cadangan, tetapi semua ini memiliki kekurangannya sendiri:

  • Hotcopying DB dari MySQL Enterprise adalah cara terbaik untuk mencapai backup ini … jika Anda tidak keberatan dengan label harga Enterprise.
  • Menyalin direktori data DB dapat menjadi rumit jika Anda berpindah di sistem operasi, karena tujuan mereka akan berbeda.
  • Mengekspor ke file teks terbatas akan memberi Anda konten, tetapi Anda harus membuat ulang struktur sendiri. Dan Anda sebaiknya melakukannya dengan benar …
  • Anda dapat sering mem-backup database dari program-program GUI seperti MySQL Workbench. Tetapi ini adalah proses manual, yaitu bukan sesuatu yang dapat Anda skrip atau sertakan dalam pekerjaan batch.

Memasang Alat mysqldump

Jika Anda tertarik dengan artikel ini, kemungkinan Anda sudah menginstal MySQL. Jika itu masalahnya, kabar baik - Anda sudah memilikinya mysqldump! Jika tidak, Anda cukup menginstal MySQL dengan cara standar untuk sistem operasi Anda.

Untuk Windows, periksa instruksi kami di sini untuk menginstal MySQL pada Windows 7 (proses instal masih sangat sama). Demikian juga pada macOS, lihat petunjuk kami untuk menginstal MySQL pada macOS 10.7 (lagi, lebih tua tapi masih berlaku). Pengguna sistem Linux berbasis Ubuntu dapat menggunakan perintah berikut untuk menginstal klien dan utilitas MySQL:

sudo apt install mysql-client

Ekstrak Dump MySQL

Setelah dipasang, Anda dapat menggunakan mysqldump untuk mendapatkan cadangan penuh dari basis data Anda.

mysqldump -h nama host atau IP DB Anda -u nama pengguna DB -p nama database> db_backup.sql

Mari kita pecahkan perintah ini sedikit:

  • "-h": Bendera ini adalah basis data tuan rumah. Ini bisa menjadi nama host lengkap (mis. Myhost.domain.com) atau alamat IP. Anda juga dapat membiarkan ini kosong jika Anda menjalankannya pada host yang sama dengan server MySQL.
  • "-u": Seperti disebutkan, ini adalah milik Anda nama pengguna.
  • "-p": Jika Anda benar-benar mengamankan instalasi MySQL Anda, Anda akan membutuhkan kata sandi untuk menghubungkan. Bendera ini tanpa argumen akan meminta Anda untuk memasukkan kata sandi saat Anda menjalankan perintah. Terkadang berguna untuk memberikan kata sandi Anda secara langsung sebagai argumen ke bendera ini, misalnya di skrip cadangan. Tetapi pada prompt, Anda tidak boleh, karena jika seseorang memperoleh akses ke komputer Anda, mereka bisa mendapatkan kata sandi ini dalam sejarah perintah Anda.
  • "> db_backup.sql": Bagian terakhir ini menceritakan mysqldump untuk mengarahkan semua outputnya ke dalam file. Biasanya, perintah akan menampilkan semuanya secara langsung ke konsol, yang berarti Anda akan melihat banyak pernyataan SQL lewat. Tetapi sebaliknya, simbol *> * adalah tanda untuk menyalurkan semua hal itu ke dalam file teks bernama sebagai gantinya. Dan jika file ini tidak ada, file akan dibuat secara otomatis.

Setelah selesai, Anda akan memiliki file .SQL. Ini hanyalah file teks yang berisi pernyataan SQL. Anda dapat membukanya di editor teks apa pun untuk memeriksa isinya. Melihat ekspor dari database WordPress, Anda dapat melihat bagaimana file-file ini disatukan.

File dibagi menjadi beberapa bagian. Pada gambar di atas, kita dapat melihat bagian pertama menyiapkan tabel untuk komentar WordPress. Bagian kedua kemudian membuat ulang konten (yaitu catatan komentar) yang ada di tabel tersebut. Ketika Anda pergi untuk mengimpor kembali dump MySQL Anda lagi, perintah akan bekerja melalui file, mengeksekusi pernyataan dan membangun kembali database Anda seperti semula. Jadi bagaimana Anda melakukannya? Mari lihat.

Mengimpor File Dump MySQL

Sebelum Anda dapat melakukan ini, Anda akan membutuhkan database yang sudah dibuat, dan memiliki nama pengguna dan kata sandi yang valid. Anda juga harus memiliki semua izin untuk database. (Sebenarnya Anda tidak membutuhkan HIBAH izin, tetapi lebih mudah untuk hanya memberi mereka semua.) Anda dapat menemukan detail tentang izin basis data dalam artikel ini.

Untuk mengimpor kembali data Anda, ikuti langkah-langkah berikut:

  1. Masuk ke server MySQL dengan mysql perintah.
  2. Mengetik gunakan nama database pada prompt, menggantikan nama yang tepat dari DB.
  3. Memasukkan sumber nama file, mengganti nama file dump yang Anda ambil sebelumnya.

Ketika Anda selesai, Anda akan melihat daftar panjang pesan yang menyatakan bahwa pernyataan SQL mengeksekusi. Mengawasi kesalahan, tetapi jika Anda memiliki izin yang tepat, Anda harus baik-baik saja karena itu adalah database kosong.

Setelah proses selesai, Anda akan memiliki duplikat dari database asli Anda. Anda dapat memverifikasi ini dengan melakukan dump lain, dan membandingkan dua output. Editor teks yang layak akan dapat melakukan ini untuk Anda, atau alat * diff * khusus seperti yang ditunjukkan pada gambar di bawah ini:

Hanya ada dua perbedaan antara file-file ini, seperti yang diwakili oleh garis merah di bagian paling atas dan bawah scrollbar kanan. Yang pertama adalah garis yang berisi nama database, dan kami berharap ini menjadi berbeda karena kami menamakannya secara berbeda. Yang kedua, semua jalan di ujung, adalah stempel waktu untuk file dump. Dan kami juga mengharapkan ini menjadi berbeda, karena kami menciptakan kembali database kedua setelah yang pertama. Jika tidak, file-file itu persis sama, artinya database yang menghasilkannya juga sama!