Saya pindah dari Linode karena saya tidak memiliki keterampilan sysadmin Linux yang diperlukan; sebelum saya menyelesaikan transisi ke layanan yang lebih ramah-noob, saya perlu mengunduh konten dari database MySQL. Apakah ada cara saya bisa melakukan ini dari baris perintah?
mysql
command-line
command-line-arguments
linode
Phillip Copley
sumber
sumber
Jawaban:
Anda dapat melakukannya dengan menggunakan fungsi baris perintah mysqldump .
Sebagai contoh:
Jika seluruh DB, maka:
Jika itu semua DB, maka:
Jika tabel tertentu dalam DB, maka:
Anda bahkan bisa sejauh mengompresi otomatis output menggunakan gzip (jika DB Anda sangat besar):
Jika Anda ingin melakukan ini dari jarak jauh dan Anda memiliki akses ke server yang dimaksud, maka yang berikut ini akan berfungsi (anggap server MySQL ada di port 3306):
Seharusnya drop
.sql
file di folder tempat Anda menjalankan command-line.Sunting: Diperbarui untuk menghindari penyertaan kata sandi dalam perintah CLI, gunakan
-p
opsi tanpa kata sandi. Ini akan meminta Anda untuk itu dan tidak merekamnya.sumber
wget
atauscp
akan diperlukan untuk mengambil file tersebut setelah dibangun.>
untuk menyimpan, saya lebih suka menggunakan-r
untuk mencegah masalah dengan karakter asing, atau mimpi buruk tentang masalah penyandian, seperti yang dinyatakan dalam artikel ini .--result-file=db_backup.sql
bukan> db_backup.sql
. Kutipan dari dokumentasi MySQL : "UTF-16 tidak diizinkan sebagai set karakter koneksi (lihat Set Karakter Klien Tidak Sah ), jadi file dump tidak akan dimuat dengan benar. Untuk mengatasi masalah ini, gunakan--result-file
opsi, yang menciptakan output dalam Format ASCII ".Di versi terbaru mysql, setidaknya di mysql, Anda tidak bisa memasukkan pass Anda di perintah secara langsung.
Anda harus menjalankan:
mysqldump -u [uname] -p db_name > db_backup.sql
dan kemudian akan meminta kata sandi.
sumber
-p
opsi dan kata sandi yang sebenarnya melakukan trikJika mengunduh dari server jarak jauh, berikut adalah contoh sederhana:
-P menunjukkan Anda akan memasukkan kata sandi, itu tidak berhubungan dengan db_name. Setelah memasukkan perintah, Anda akan diminta kata sandi. Ketik dan tekan enter.
sumber
Pada windows Anda perlu menentukan nampan mysql di mana mysqldump.exe berada.
simpan ini ke file teks seperti backup.cmd
sumber
mysql
perintah dari mana saja tanpa berada di direktori itu.Buka Command prompt, dan langsung ketik perintah ini. Jangan masuk ke dalam mysql dan kemudian ketik perintah ini.
sumber
Pergi ke direktori instalasi MySQL dan buka cmd dari sana. Kemudian jalankan perintah di bawah ini untuk mendapatkan cadangan dari database Anda.
sumber
Cukup ketik
mysqldump
ataumysqldump --help
di cmd Anda akan ditampilkanhow to use
Inilah hasil cmd saya
sumber
Jika Anda menjalankan MySQL selain port default:
sumber
Bagi mereka yang ingin mengetik kata sandi di dalam baris perintah. Itu mungkin tetapi merekomendasikan untuk meneruskannya di dalam tanda kutip sehingga karakter khusus tidak akan menyebabkan masalah.
sumber
Gunakan ini Jika Anda memiliki database dengan nama archiedb, gunakan mysql -p --databases archiedb> /home/database_backup.sql
Dengan asumsi ini adalah linux, pilih di mana file cadangan akan disimpan.
sumber
Untuk pengguna Windows Anda dapat pergi ke folder mysql Anda untuk menjalankan perintah
misalnya
sumber
Catatan: Langkah ini hanya datang setelah membuang file MySQL Anda (yang sebagian besar jawaban di atas telah ditangani).
Diasumsikan bahwa Anda memiliki file dump di server jauh Anda dan sekarang Anda ingin membawanya ke komputer lokal Anda.
Untuk mengunduh
.sql
file yang dibuang dari server jarak jauh ke komputer lokal Anda, lakukansumber