Bagaimana cara mengembalikan database mysql dari file fisik?

12

Saya baru saja menginstal ulang sistem saya, saya tidak melakukan dump cadangan tetapi saya masih memiliki folder fisik instalasi mysql saya sebelumnya.

Apakah mungkin untuk menggunakannya untuk memulihkan dan memperbarui konfigurasi saya saat ini?

John
sumber

Jawaban:

11

Itu mungkin, tetapi tidak disarankan. Jika saya akan mencobanya, beginilah cara saya melakukannya.

  1. Instal mysql, konfigurasikan sedekat mungkin ke server lama atau gunakan saja konfigurasi yang sama. Pastikan itu dimulai, mulai ulang, dan Anda dapat masuk ke dalamnya. Sekarang matikan mysql.

  2. Pindahkan instalasi lama dengan mv /var/lib/mysql /var/lib/mysql.orig

  3. rsync atau salin file baru ke tempatnya. sudo rsync -av /old/mysql/ /var/lib/mysql/Saya sarankan menyimpan file asli dalam keadaan saat ini kalau-kalau ini tidak berhasil.

  4. sudo chown -R mysql: /var/lib/mysqldan kemudian mulai mysql. Periksa log, pastikan semuanya terlihat baik, dan kemudian login ke Mysql. Lihat-lihat pastikan data Anda ada di sana.

Anggap semuanya berjalan lancar Anda harus siap. Sekarang segera buat kembali Mysql sehingga Anda tidak perlu melakukan omong kosong semacam ini di lain waktu.

Kashani
sumber
1
Saya akan berhati-hati untuk melakukan langkah 2 di atas sebelum langkah 1. Anda ingin memastikan bahwa instalasi dan mulai mysqld tidak menimpa database sistem lama Anda.
malcolmpdx
Itu poin yang bagus. Saya berasumsi bahwa / var / lib / mysql bukan dari instalasi asli. Bagaimanapun, ya pastikan file asli Anda tidak di / var / lib / mysql sebelum Anda memulai ini. Anda ingin memulai dengan instance Mysql baru sebelum Anda mulai mencoba memuat data asli Anda.
kashani
terima kasih saya sedikit memodifikasi langkah untuk beradaptasi dengan lingkungan Zend Server CE & MacOS saya dan berhasil!
John
@ Kashani saya mengikuti instruksi ini (centos) tetapi pada server baru saya mendapatkan tabel untuk muncul tetapi data dan tabel tidak .. ada ide? saya melihat semua tabel di dalam folder yang mereka tidak muncul (sepertinya juga set karakter yang tepat)
K2xL
2
@ K2xL Saya tidak yakin apa yang Anda lihat. Jika Anda membuat pertanyaan baru dengan rincian apa yang Anda lihat dan bagaimana Anda mencapainya, saya akan senang melihatnya. Perlu diingat bahwa metode di atas hanya berfungsi untuk seluruh instalasi Mysql, bukan basis data individual karena tabel Innodb memiliki data yang disimpan dalam file ibdata utama terlepas dari apakah Anda menggunakan innodb_file_per_table atau tidak.
kashani