Κατάλογος άρθρου
Το σφάλμα πίνακα MySQL επισημαίνεται ως σφάλμα και τελευταίο (αυτόματο;) - λύση.
Αυτό το άρθρο θα σας παρουσιάσει τις συμβουλές μας κατά την επισκευή του τραπεζιούError: Table \'./db_name/table_name\' is marked as crashed and last (automatic?) repair failedλύση.
Υπάρχει πρόβλημα με τον πίνακα MySQL , όπως υποδεικνύεται από το ακόλουθο μήνυμα: ▼
Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed
Το mysql_upgrade εκτελεί τις ακόλουθες εντολές για έλεγχο και επιδιόρθωση πινάκων και αναβάθμιση πινάκων συστήματος ▼
mysqlcheck --all-databases --check-upgrade --auto-repair
- Η αποτυχία της λειτουργίας είναι μη αναστρέψιμη και η βάση δεδομένων πρέπει να διακοπεί:
service monit stop
service mysqld stop
- Εισαγάγετε τον κατάλογο όπου βρίσκεται η βάση δεδομένων:
cd /var/lib/mysql/db_name/
Σημείωση: Η υπηρεσία mysql πρέπει να διακοπεί πριν επιδιορθωθεί η λειτουργία.
- Επιδιόρθωση μεμονωμένου φύλλου δεδομένων:
myisamchk -r tablename.MYI
- Διορθώστε όλα τα φύλλα δεδομένων:
myisamchk -r *.MYI
- Λειτουργία ασφαλείας:
myisamchk -r -v -o <table_name>
- Λειτουργία δύναμης:
myisamchk -r -v -f <table_name>
χρήση myisamchk
Σημείωση: Πριν χρησιμοποιήσετε το myisamchk, βεβαιωθείτε ότι το mysqld δεν έχει πρόσβαση στον πίνακα που πρόκειται να ελεγχθεί.Σταματήστε καλύτερα το mysqld.
- υλοποιώ, εφαρμόζω
myisamchk –update-state -s *.myi
και ελέγξτε ποια αρχεία ευρετηρίου έχουν προβλήματα (μπορεί να διαρκέσει πολύ).
- Η επιλογή κατάστασης ενημέρωσης χρησιμοποιείται μόνο όταν διακόπτεται το mysqld. -s σημαίνει ότι αγνοούνται ορισμένες κανονικές πληροφορίες που αναφέρονται στον πίνακα και μόνο τα σφάλματα λίστας.
- Για κάθε κατεστραμμένο πίνακα, δοκιμάστε
myisamchk -r -q table_name
Αυτή είναι η λειτουργία γρήγορης επισκευής, η οποία θα ελέγχει αυτόματα εάν ο πίνακας ευρετηρίου και ο πίνακας δεδομένων μπορούν να είναι συνεπείς.Εάν είναι συνεπής, μπορεί να διορθωθεί.
- Εάν η λειτουργία γρήγορης επιδιόρθωσης αποτύχει, σκεφτείτε:
myisamchk -r table_name
Τα ασυνεπή δεδομένα και ευρετήρια διαγράφονται και τα ευρετήρια ξαναδημιουργούνται.
- Εάν αυτό αποτύχει, σκεφτείτε:
myisamchk –safe-recover table_name
Παράδειγμα λειτουργίας
Η αποτυχία της λειτουργίας είναι μη αναστρέψιμη και η βάση δεδομένων πρέπει να διακοπεί:
service monit stop
service mysqld stop
cd /var/lib/mysql/eloha_ufo
cd /var/lib/mysql/eloha_cwl
Διορθώστε όλα τα φύλλα δεδομένων:
myisamchk -r *.MYI
myisamchk -r -v -f wp_postmeta.MYI
myisamchk -r -v -f wp_posts.MYI
myisamchk -r -v -f wp_options.MYI
myisamchk -r -v -f wp_itsec_log
Αυτό είναι πολύ πιο αργό από το -r, αλλά χειρίζεται καταστάσεις που το -r δεν μπορεί.
myisamchk -r -f -o /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
Ακολουθεί η εντολή για την πλήρη διαδρομή προς τον πίνακα της βάσης δεδομένων:
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_posts.MYI
Ξεκινήστε τη βάση δεδομένων MYSQLD:
service mysqld start
service mysqld restart
Ξεκινήστε το πρόγραμμα παρακολούθησης MONIT :
service monit restart
service monit start
Ας ελπίσουμε ότι το άρθρο "Λύση για το σφάλμα του πίνακα MySQL 'είναι μαρκαρισμένο ως crashed and last (automatical?)' repair" που κοινοποιήθηκε στο ιστολόγιο του Chen Weiliang ( https://www.chenweiliang.com/ ) θα σας φανεί χρήσιμο.
Μη διστάσετε να κοινοποιήσετε τον σύνδεσμο αυτού του άρθρου: https://www.chenweiliang.com/cwl-176.html
