Artikel ini menjelaskan cara memeriksa database Anda untuk korupsi di MySQL®. Mengapa korupsi terjadi dalam database? Ini mungkin terjadi karena perangkat keras, khususnya kegagalan berbasis disk atau saat disk penuh.
Gejala
Gejala utama:Anda mencoba masuk dan mendapatkan pesan kesalahan di konsol:Ganti Sesi:Tabel ‘./DB_NAME/mdl_sessions2’ ditandai rusak dan harus diperbaiki .
Solusi
Anda dapat memeriksa dan memperbaiki masalah ini dengan menggunakan mysqlcheck
perintah dengan--auto-repair DBNAME
bendera. Saat Anda menambahkan --auto-repair
flag, MySQL mencoba memperbaiki kerusakan di database Anda.
# mysqlcheck -u USER_NAME -p --auto-repair DB_NAME
Enter password:
db_test.adodb_logsql OK
db_test.mdl_assignment OK
db_test.mdl_assignment_submissions OK
...
db_test.mdl_log
error : Table './db_test/mdl_log' is marked as crashed and should be repaired
...
db_test.mdl_sessions2
error : Table './db_test/mdl_sessions2' is marked as crashed and should be repaired
Repairing tables
db_test_18_latest.mdl_log OK
db_test_18_latest.mdl_sessions2 OK
Jika Anda hanya ingin memeriksa apakah database Anda rusak atau tidak, jalankan perintah berikut:
# mysqlcheck -c DATABASE_NAME -u USER_NAME -p
Jika Anda ingin memeriksa semua database dan tabel di server Anda, tambahkan tanda --all-databases
dan hilangkan nama database, seperti yang ditunjukkan pada perintah berikut:
# mysqlcheck -c -u USER_NAME -p --all-databases
Jika Anda hanya ingin memeriksa tabel di dalam database, jalankan perintah berikut:
# mysqlcheck -a DB_NAME TABLE_NAME -u USER_NAME -p
Kesimpulan
Dengan perintah yang disajikan dalam artikel ini, Anda sekarang dapat memeriksa database atau tabel MySQL Anda dari kerusakan.