mysql.proc ciągle się zawiesza, nie możesz zrobić mysqldump?


9

Z powodu problemów z InnoDB zrzucę wszystkie bazy danych na nowy serwer:

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

Proces zrzutu został zatrzymany z błędem:

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

Uruchomiłem następujące polecenie, aby naprawić wszystkie tabele we wszystkich bazach danych:

mysqlcheck --auto-repair --all-databases

Kiedy sprawdzam mysql.procstatus, otrzymuję:

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

Jednak nadal pojawia się ten sam błąd podczas ponownego uruchamiania mysqldumppolecenia.

Mam około 2000 procedur sklepowych. Czy to może być przyczyną błędu?


2
Czy naprawiłeś także miejsce docelowe?
Philᵀᴹ

Co to jest 59.9kB assword: 59.9kB? Czy to rzeczywiście część komunikatu o błędzie?
Max Vernon

@quanta done ...
Philᵀᴹ

@ MaxVernon: jest to fragment danych przesyłanych strumieniowo pvprzed wprowadzeniem hasła na hoście docelowym.
kwanty

Odpowiedzi:


3

Ten błąd:

BŁĄD 145 (HY000) w wierszu 2970: Tabela „./mysql/proc” jest oznaczona jako rozbita i powinna zostać naprawiona 228 MB mysqldump: Dostałem errno 32 podczas zapisu

... sugeruje, że problemem jest pisanie, a nie czytanie, więc zrób naprawę docelowej bazy danych.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.