Karena beberapa masalah dengan InnoDB, saya akan membuang semua database ke server baru:
mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server
Proses dump dihentikan dengan kesalahan:
59.9kB assword: 59.9kB
ERROR 145 (HY000) at line 2970: Table './mysql/proc' is marked as crashed and should
be repaired
228MB
mysqldump: Got errno 32 on write
Saya telah menjalankan perintah berikut untuk memperbaiki semua tabel di semua database:
mysqlcheck --auto-repair --all-databases
Ketika saya memeriksa mysql.proc
statusnya, saya mendapatkan:
mysql> check table mysql.proc;
+------------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+------------+-------+----------+----------+
| mysql.proc | check | status | OK |
+------------+-------+----------+----------+
1 row in set (0.02 sec)
Namun, saya masih mendapatkan kesalahan yang sama saat menjalankan kembali mysqldump
perintah.
Saya memiliki sekitar 2000 prosedur toko. Bisakah itu menjadi alasan kesalahan?
mysql
stored-procedures
mysqldump
crash
kuanta
sumber
sumber
59.9kB assword: 59.9kB
? Apakah itu sebenarnya bagian dari pesan kesalahan?pv
sebelum memasukkan kata sandi pada host tujuan.Jawaban:
Kesalahan ini:
... menyarankan bahwa masalahnya adalah menulis tidak membaca, jadi lakukan perbaikan pada database tujuan.
sumber
Saya baru saja mengalami masalah yang sama, ini diperbaiki dengan mengeluarkan perintah, dengan asumsi dir data mysql ada di / var / lib / mysql / mysql
myisamchk -q -r / var / lib / mysql / mysql / proc
Sumber: http://dev.mysql.com/doc/refman/5.0/id/myisam-repair.html
sumber