Saya bekerja dengan linux pro tahun lalu yang melakukan trik bagus ini. Dia bisa melakukan mysqldump tetapi mengarahkan output ke koneksi scp / ssh daripada menulis ke disk . Kami memanfaatkan ketenangan ini sedikit di mana saya dulu bekerja tetapi saya tidak ingat bagaimana melakukan ini lagi.
Saya sekarang dihadapkan dengan masalah di mana hard drive saya di server saya berada di kaki terakhirnya dan, untuk tujuan intensif, dipasang secara permanen sebagai hanya baca.
Saya berharap untuk menggunakan tipuan baris perintah ini untuk tetap dapat membuat cadangan database saya ke server baru, karena menulis dump ke diska lokal dan mentransfernya jelas bukan pertanyaan.
Apakah ini sebenarnya trik kecil yang mungkin dilakukan? Jika demikian apa sintaksinya?
Sejak saya menyadari karena masalah sistem file read only saya mengalami saya bahkan tidak dapat terhubung ke mysql untuk melakukan dump. Tapi umpan balik Anda bagus dan mudah-mudahan bermanfaat bagi orang lain di masa depan
Jawaban:
mysqldump dbname | ssh [email protected] "mysql -D dbname"
itu seharusnya bekerja :-)
Atur kunci antar sistem juga sehingga Anda dapat melakukannya tanpa membutuhkan login / pass :-)
sumber
sumber
mysqldump -p <dbname> | ssh <user>@<ip_address> "cat > <filename>.sql"
apa yang saya butuhkan.Saya suka jawaban @ GlennKelley, tetapi ingin menunjukkan yang berikut:
Kami memiliki database yang 450GB, tetapi hanya 500GB yang disediakan pada host. Kami tidak dapat mengekspor secara lokal, jadi kami mengekspor dari jarak jauh. Kami memvalidasi output dan ada ratusan contoh di mana output rusak karena masalah buffering pipa.
Solusi terbaik di sini, adalah, dari host target di mana Anda ingin dump Anda berakhir, jalankan
mysqldump
tetapi gunakan-h
opsi untuk host. Arahkan host ke server MySQL dan ekspor data menggunakan a>
.sumber