Untuk mengekspor atau mengimpor dengan MySQL, mulailah dengan masuk ke server Anda, sebaiknya dengan sudo
akses (root).
Mengekspor dari MySQL
Alat terbaik untuk mengekspor database MySQL ke file teks adalah mysqldump
.
Untuk menggunakan mysqldump
, Anda perlu mengetahui kredensial login dari MySQL user
yang sesuai yang memiliki hak istimewa yang diperlukan untuk mengekspor database yang bersangkutan.
Dengan informasi itu di tangan, masukkan mysqldump
perintah dengan flag dan opsi yang sesuai:
$ mysqldump -u my_username -p database_name > output_file_path
Opsi yang digunakan adalah:
-u
flag menunjukkan bahwausername
MySQL akan mengikuti.-p
flag menunjukkan bahwa kita harus dimintaipassword
terkait denganusername
di atas .database_name
tentu saja nama persis database yang akan diekspor.>
simbol adalah direktif Unix untukSTDOUT
, yang memungkinkan perintah Unix untuk menampilkan hasil teks dari perintah yang dikeluarkan ke lokasi lain. Dalam hal ini, lokasi keluaran tersebut adalah jalur file, ditentukan olehoutput_file_path
.
Catatan:Biasanya disarankan untuk memasukkan jalur dan nama file yang sepenuhnya memenuhi syarat untuk output_file_path
, sehingga file yang dihasilkan dibuat persis di tempat yang Anda inginkan.
Misalnya, untuk mengekspor books
database sebagai book_admin
pengguna ke ~/backup/database
direktori, kita dapat menggunakan perintah berikut:
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
Setelah memasukkan kata sandi kami ketika diminta di atas, perintah ini kemudian membuat file cadangan kami dengan .sql
akhiran (yang sepenuhnya opsional tetapi disarankan) di direktori yang sesuai.
Secara default, mysqldump
tidak akan menyimpan perintah yang mencoba untuk mengubah keberadaan database yang sebenarnya. Sebagai gantinya, secara default, hanya tables
yang sebenarnya (dan datanya masing-masing) disimpan dan dengan demikian akan disiapkan untuk diimpor nanti menggunakan file ini. Jika Anda memerlukan kemampuan untuk mengekspor (dan kemudian membuat ulang) satu database lagi, bacalah --databases
bendera di dokumentasi resmi.
Mengimpor Ke MySQL
Sekarang setelah Anda mempelajari cara mengekspor cadangan database MySQL, kita akan mempelajari cara membalikkan proses dan mengimpor backup ke database yang ada.
Seperti yang Anda bayangkan, untuk melengkapi mysqldump
perintah yang digunakan untuk mengekspor, ada yang mirip mysqlimport
perintah untuk mengimpor.
Dalam kebanyakan kasus, mengimpor hanya masalah melewati hampir identik opsi ke mysqlimport
memerintah. Untuk mengimpor books.sql
kami yang disimpan file yang dibuat sebelumnya, kami akan menggunakan banyak flag yang sama dan sintaks yang hampir sama.
$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:
Seperti sebelumnya, -u
dan -p
flag diperlukan untuk otentikasi, yang kemudian diikuti dengan nama database
untuk mengimpor ke (dalam hal ini, kami menggunakan basis data produksi yang berbeda), lalu terakhir menentukan jalur yang sepenuhnya memenuhi syarat ke file dump SQL yang berisi data impor kami, ~/backup/database/books.sql
. Perlu juga dicatat bahwa mysqlimport
tidak memerlukan <
atau >
(STDIN/STDOUT) simbol yang digunakan dengan mysqldump
.
Dengan itu, Anda telah mempelajari cara mengekspor/mencadangkan database yang ada, dan cara mengimpor/memulihkan data tersebut ke database yang sama atau bahkan berbeda.