mysql.proc tiếp tục gặp sự cố, không thể làm mysqldump?


9

Do một số vấn đề với InnoDB, tôi sẽ chuyển tất cả cơ sở dữ liệu sang một máy chủ mới:

mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server          

Quá trình kết xuất bị dừng với lỗi:

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

Tôi đã chạy lệnh sau để sửa chữa tất cả các bảng trong tất cả các cơ sở dữ liệu:

mysqlcheck --auto-repair --all-databases

Khi tôi kiểm tra mysql.proctrạng thái, tôi nhận được:

mysql> check table mysql.proc;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| mysql.proc | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.02 sec)

Tuy nhiên, tôi vẫn gặp lỗi tương tự khi chạy lại mysqldumplệnh.

Tôi có khoảng 2000 thủ tục cửa hàng. Đó có thể là lý do của lỗi?


2
Bạn đã sửa chữa điểm đến quá?
Philᵀᴹ

59.9kB assword: 59.9kBgì Đó thực sự là một phần của thông báo lỗi?
Max Vernon

@quanta xong ...
Philᵀᴹ

@MaxVernon: đó là một phần của đường ống dữ liệu thông qua pvtrước khi nhập mật khẩu trên máy chủ đích.
lượng tử

Câu trả lời:


3

Lỗi này:

LRI 145 (HY000) tại dòng 2970: Bảng './mysql/proc' được đánh dấu là đã bị hỏng và cần được sửa chữa 228 MB mysqldump: Có lỗi 32 khi ghi

... gợi ý rằng vấn đề là viết không đọc, vì vậy hãy sửa chữa cơ sở dữ liệu đích.


8

Tôi chỉ gặp vấn đề tương tự, điều này đã được khắc phục bằng cách ban hành một lệnh, giả sử thư mục dữ liệu mysql là trên / var / lib / mysql / mysql

myisamchk -q -r / var / lib / mysql / mysql / Proc

Nguồn: http://dev.mysql.com/doc/refman/5.0/en/myisam-repair.html


Mặc dù câu trả lời được chấp nhận đã nói để làm điều này, bạn thực sự đã cho thấy làm thế nào. +1 !!!
RolandoMySQLDBA
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.