Semua Database MySQL hilang dalam semalam

15

Setelah panggilan dari pelanggan untuk mengatakan bahwa situs webnya sedang down, saya menemukan bahwa MySQL di server RackSpace Cloud Windows 2008 kami tidak berjalan. Saya memulai ulang MySQL tetapi mendapat kesalahan 'Akses ditolak untuk pengguna' di browser untuk semua situs web dengan database MySQL. Ketika saya melihat di MySql Server 5.5 / data tidak ada folder selain mysql dan performance_schema. Tampaknya semua database dan data telah dihapus. Adakah yang tahu apa yang mungkin terjadi dan ke mana data itu pergi? Selain itu, saya baru menemukan server ini tidak ada di layanan cadangan kami.

ps tampaknya setelah pembaruan windows pukul 4:01 pagi ini.

Iain
sumber
Apakah ada entri yang relevan di sistem Anda dan log MySQL?
user9517
1
"Di atas itu saya baru menemukan server ini hilang dari layanan cadangan kami." Aduh.
Tom O'Connor
file log dimulai pukul 09:00 pagi ini ketika saya mulai MySQL: InnoDB: File log. \ ib_logfile0 tidak ada: baru akan dibuat InnoDB: Mengatur file log. \ ib_logfile0 ukuran hingga 5 MB InnoDB: Basis data secara fisik menulis file penuh : tunggu ...
Iain
1
Ini lebih dari parit terakhir, tetapi mungkin Anda bisa mencoba beberapa perangkat lunak pemulihan data. Anda harus mematikan server ASAP, dan mengakses disk offline.
Dan
7
Apakah Anda yakin sedang mencari di direktori yang benar? Seseorang mungkin telah mengubah datadirfile konfigurasi tanpa memuat ulang MySQL dan kemudian masalah ini muncul hanya setelah restart MySQL (mungkin dipicu oleh pembaruan sistem).
gertvdijk

Jawaban:

32
  1. Hubungi dukungan Rackspace .. Untuk itulah mereka ada di sana.
  2. Lakukan semua yang mereka sarankan.
  3. Jika itu tidak berhasil, coba saran Dan tentang perangkat lunak pemulihan data.
  4. Gunakan ini sebagai kesempatan untuk tumbuh dan belajar.

Selalu pastikan bahwa semua server Anda dicadangkan, dan uji cadangan secara teratur. Tidak ada gunanya memiliki layanan cadangan jika Anda tidak pernah benar-benar menguji bahwa Anda dapat memulihkannya.

Oh, dan matikan pembaruan otomatis. Hanya lakukan setelah Anda menguji dampak pembaruan, lebih disukai pada server lain yang dikonfigurasikan secara identik.

Tom O'Connor
sumber
6
+1 Ini benar-benar harus menjadi jawaban kanonik untuk pertanyaan yang menanyakan cara mengembalikan data yang belum dicadangkan.
dunxd
2
Terima kasih untuk bantuan kalian. gertvdijk menempatkan saya di jalur yang benar karena menemukan folder data juga di bawah Program Files / MySQL serta ProgramData / MySQL dan dikembalikan dari kombinasi folder data dan file ibdata1 setelah menginstal ulang MySQL. Adapun penyebab masalah asli yang menyebabkan korupsi dan mencegah MySQL untuk memulai, satu-satunya petunjuk yang saya miliki adalah pembaruan Windows pukul 4 pagi pagi ini tetapi tidak bisa mengatakan itu pasti. Telah menyoroti server ini yang dihilangkan dari program cadangan dan itu akan menjadi masalah dengan itu bukan.
Iain
1
Anda harus mempertimbangkan untuk mengubah pengaturan server sehingga pembaruan sistem tidak diinstal secara otomatis dan tanpa pengawasan, kecuali jika Anda mengendalikan dengan cara lain persisnya pembaruan mana yang diinstal. Bagaimana jika pembaruan mengubah perilaku sistem sedemikian rupa sehingga dapat merusak situs web pelanggan Anda?
CVn
5
Ini adalah batas flamebait tetapi pertimbangkan untuk memindahkan basis data mysql Anda ke server linux. Pembaruan keamanan otomatis mereka tidak pernah memulai ulang server dan setiap vendor distro besar akan menguji kompatibilitas pembaruan dengan porgram inti seperti mysql (Di lain pihak, Microsoft atau Oracle tidak akan menguji mysql terhadap pembaruan windows). Cronjob cadangan mungkin sedikit lebih mudah dan lebih dapat diandalkan daripada kebanyakan perangkat lunak cadangan windows.
Bryan Waters