Bảng được đánh dấu là bị hỏng và cần được sửa chữa


190

Tôi nhận được lỗi này trong wordpress phpMyadmin

#145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 

Khi tôi đăng nhập vào phpMyadmin, nó báo wp_posts đang "sử dụng"

Trang web của tôi hiện đang ngừng hoạt động vì điều này.

Tôi đã giải quyết vấn đề này, nhưng tôi không thấy nút "sửa chữa" trên phpMyadmin. Xin vui lòng cho tôi biết làm thế nào để khắc phục điều này. Tôi không chắc chắn nơi phát hành lệnh PHP. Xin tư vấn, sự thành thạo PHP của tôi là rất cơ bản.

Câu trả lời:



183

Chạy cái này từ dòng lệnh của máy chủ của bạn:

 mysqlcheck --repair --all-databases

45
Để tránh lỗi 'truy cập bị từ chối', bạn có thể phải thêm tên người dùng và mật khẩu vào lệnh này. mysqlcheck -uroot -p --repair --all-databasesvà cung cấp mật khẩu.
wruckie

118

Tôi gặp vấn đề tương tự khi không gian đĩa trống máy chủ của tôi là 0

Bạn có thể sử dụng lệnh (phải có đủ không gian cho các tệp mysql)

REPAIR TABLE `<table name>`;

để sửa chữa các bảng riêng lẻ


Hữu ích, tôi gặp vấn đề này với bảng UC Drupal v7.6x, đột nhiên phát lên; đã ban hành lệnh REPAIR TABLE như trên trong bảng điều khiển SQL phpMyAdmin và sửa nó. Cảm ơn lòng tốt cho stackoverflow !! Chúc mừng!
Paul B

25

Kết nối với máy chủ của bạn thông qua SSH

sau đó kết nối với bảng điều khiển mysql của bạn

USE user_base
REPAIR TABLE TABLE;

-HOẶC LÀ-

Nếu có nhiều bảng bị hỏng trong cơ sở dữ liệu hiện tại:

mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base

Nếu có nhiều bảng bị hỏng trong rất nhiều cơ sở dữ liệu:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A

2
Không đặt mật khẩu trong dòng lệnh, sau đó chúng được lưu trong lịch sử theo cách và vị trí không bảo mật. Các lệnh mysql cho phép bạn truyền tham số -pmột mình, và sau đó sẽ hỏi bạn mật khẩu của bạn.
Thierry J.

7

Khi tôi gặp lỗi này:

# 145 - Bảng '. \ Engine \ phpbb3_posts' được đánh dấu là bị hỏng và cần được sửa chữa

Tôi đã chạy lệnh này trong PhpMyAdmin để sửa nó:

REPAIR TABLE phpbb3_posts;

6

Điều này có nghĩa là bảng MySQL của bạn bị hỏng và bạn cần sửa chữa nó. Sử dụng

myisamchk -r /DB_NAME/wp_posts

từ dòng lệnh. Trong khi bạn chạy sửa chữa, bạn nên tạm thời tắt trang web của mình để không có kết nối mới nào được thử với cơ sở dữ liệu của bạn trong khi nó đang được sửa chữa.


Tôi đã hỏi điều này với nhận xét ở trên nhưng tôi nghĩ rằng anh ấy đã đăng xuất, vì vậy hãy hỏi lại bạn. "Cảm ơn rất nhiều, trang web của tôi đã hoạt động trở lại một lần nữa. Mặc dù vậy, một câu hỏi, vì cơ sở dữ liệu đã bị hỏng và tôi đã sửa chữa nó một lần nữa, tôi có nên lo lắng về bất cứ điều gì không? Tôi có nên điều tra nếu điều đó làm hỏng không? của tất cả mọi thứ? "
John Connor

Bạn không nên lo lắng về bất cứ điều gì. Khi cơ sở dữ liệu được sửa chữa, trang web của bạn sẽ hoạt động trở lại. Nó có thể bị hỏng một lần nữa tại một số điểm, nó xảy ra, chỉ cần sửa chữa nó một lần nữa. Cũng thường xuyên sao lưu và bạn sẽ ổn thôi
Dmitri
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.