Mga Solusyon sa Error

MySQL "Table is marked as crashed" Error: Paano I-repair ang MySQL Table sa phpMyAdmin (Filipino Guide)

  • 12 minutong pagbasa
  • Team ng Hostragons
MySQL "Table is marked as crashed" Error: Paano I-repair ang MySQL Table sa phpMyAdmin (Filipino Guide)

MySQL "Table is marked as crashed" error ay karaniwang nangyayari kapag ang MyISAM storage engine na ginagamit ng isang table ay nasira at hindi na ito mabasa nang ligtas ng MySQL. Pinakamabilis na solusyon ay mag-backup muna ng database, pagkatapos ay gamitin ang Repair Table function sa phpMyAdmin para ayusin ang apektadong table. Ngunit hindi laging sapat ang simpleng pag-repair—maaaring maulit ang error dahil sa biglaang shutdown ng server, puno na ang disk, maling queries, sobrang dami ng write traffic, o luma nang MySQL setup. Sa gabay na ito, malalaman mo ang mga sanhi, tamang backup checks, step-by-step repair gamit phpMyAdmin, at mga pangmatagalang preventive measures.

Maaaring WordPress, OpenCart, custom PHP, o forum software ang gamit ng website mo; kapag nasira ang MySQL table, makikita ng mga bisita ang white screen, 500 error, timeout, o unexpected database errors sa admin panel. Lalo na sa e-commerce sites, kapag ang tables ng order, produkto, session, o cart ay naapektuhan, bawat minutong downtime ay maaaring magdulot ng kita na mawawala. Kaya mahalaga ang tamang proseso—protection ng data at pag-unawa sa root cause ng error. Ang maaasahang hosting, regular na backup, at tamang database engine ay malaking tulong para maiwasan ang ganitong problema. Para sa mas kontrolado at monitored na hosting, pwede mong tingnan ang Hostragons Web Hosting o para sa malalaking proyekto, Hostragons VPS Server.

Ano ang "Table is marked as crashed" error?

"Table is marked as crashed" error ay nangangahulugan na ang MySQL server ay may table na nasira at hindi ma-access nang tama. Madalas lumalabas ang error na: Table './database_name/table_name' is marked as crashed and should be repaired o Incorrect key file for table. Nagpapahiwatig ito na may problema sa mismong table file, indexes, o integrity ng table.

Madalas itong mangyari sa MyISAM tables. Ang MyISAM ay luma at mabilis basahin, pero mahina ang recovery compared sa InnoDB. Kapag nagkaroon ng abrupt shutdown, disk write interruption, o hindi tama ang pag-stop ng MySQL service, madaling masira ang MyISAM tables. Ang InnoDB naman mas resilient dahil sa transaction logs at crash recovery, pero hindi ibig sabihin ay immune ito; sa InnoDB, ang errors ay kadalasang may kinalaman sa tablespace, disk, transaction log, o data dictionary.

Pinakakaraniwang Sanhi ng Error

Ang simpleng repair sa phpMyAdmin ay kadalasang sapat, pero kung hindi mo malalaman ang pinagmulan ng error, maaari itong maulit sa loob ng ilang oras o araw. Sa praktikal na karanasan, narito ang mga usual na sanhi:

  • Biglaang shutdown ng server: Kapag may power outage, hardware reset, o OS crash habang nagsusulat si MySQL sa table, pwedeng masira ang table.
  • Puno ang disk space: Kapag hindi na makasulat ng temporary files, indexes, o updates si MySQL, pwede masira ang data integrity. Kapag ang disk usage ay lagpas 90%, delikado na.
  • Pilit na pag-stop ng MySQL service: Halimbawa, kill -9, lalo na kung may heavy write, posibleng masira ang MyISAM tables.
  • Sobrang daming write traffic: Log, counter, session, o search tables na laging updated—kapag MyISAM ang gamit, mas sensitibo.
  • Maling plugin o tema: Sa WordPress, ang poorly-written plugins ay pwedeng mag-generate ng sobrang daming queries at mag-lock ng table.
  • Hardware o file system issues: Disk bad sector, I/O errors, o corrupt file system ay posibleng makaapekto sa database files.
  • Luma o outdated MySQL version: Sa lumang versions, mahina ang performance, locking, at recovery.

Critical Security Steps Bago Mag-repair

Karaniwan namang safe ang pag-repair ng database, pero tandaan: bawat operation sa damaged table ay may risk ng data loss. Lalo na kung live site ang apektado, ang prioridad ay backup.

1. Mag-backup ng kasalukuyang database

Bago mag-repair sa phpMyAdmin, i-export ang latest backup ng database. Kahit may sira ang table, mahalaga ang backup ng nababasang data. Sa phpMyAdmin, piliin ang database, click Export, piliin ang custom method, at save as SQL file. Sa malalaking database, pwedeng mag-timeout ang export; gamitin ang hosting panel backup tool o SSH mysqldump kung kinakailangan. Para sa sites na walang regular backup policy, tingnan ang Mga solusyon sa hosting backup para sa solusyon.

2. Tukuyin kung aling table ang sira

Sa error message, madalas lumalabas ang table name. Sa WordPress, maaaring wp_options, wp_posts, wp_comments, o wp_actionscheduler_actions ang involved. Sa custom software, makikita ang table name sa application logs, PHP error logs, o MySQL error logs. Dapat tukuyin para hindi mag-repair ng buong database unnecessarily.

3. I-set ang site sa maintenance mode

Habang nag-repair, kung may bagong write operation, pwedeng mag-fail ang process o magkaroon ng data inconsistency. Sa busy sites, 2-5 minute maintenance ay mas safe. Sa WordPress, gamitin ang maintenance plugin; sa custom, maglagay ng temporary maintenance page o redirect. Siguraduhin na active ang SSL sa maintenance page—kung may problema sa certificate, review sertipiko ng SSL options.

Paano I-repair ang MySQL Table gamit ang phpMyAdmin

Ang phpMyAdmin ay user-friendly para sa mga walang technical command line skills. Ang steps sa cPanel, Plesk, at iba pang hosting panels ay halos pareho.

Step 1: Mag-login sa phpMyAdmin mula sa hosting panel

Pagkatapos mag-login sa hosting control panel, hanapin ang phpMyAdmin sa database section. Kung may multiple hosting accounts o domains, siguraduhin na tama ang account. Mali ang database? Hindi naman damaging, pero sayang oras at baka sa test site ka magtrabaho. Kung magulo ang domain-hosting mapping mo, basahin ang Pamamahala ng domain.

Step 2: Piliin ang tamang database

Sa kaliwang menu, hanapin ang database na ginagamit ng site mo. Sa WordPress, makikita ang DB_NAME sa wp-config.php. Sa custom PHP sites, kadalasan nasa config.php, .env, o database.php ang database name. Kung isang server ay may maraming sites, critical ang step na ito.

Step 3: I-check ang sira na table

Pagbukas ng database, makikita ang listahan ng tables. Hanapin ang table na nasa error message at i-check ang box sa kaliwa. Kung marami ang may error, pwede i-check lahat, pero mas safe ang mag-umpisa sa pinaka-importante. Para malaman kung MyISAM ang table, tingnan ang Type o Engine column.

Step 4: I-run ang "Repair Table" function

Pagkatapos i-check ang table, sa lower part ng page hanapin ang dropdown at piliin ang Repair Table. Sa likod, pinapatakbo nito ang REPAIR TABLE table_name command. Sa completion, makikita mo ang result: success, warning, o failure. Success ay usually status OK. Sa malalaking tables, maghintay ng ilang minutos—wag i-refresh o isara ang browser.

Step 5: I-check ang table at i-test ang site

Pagkatapos ng repair, pwede mong gamitin ang Check Table sa dropdown. Subukan mong buksan ang homepage, admin panel, search, product listing, at login area ng site mo. Sa WordPress, mag-save ng permalinks, clear cache, at tingnan ang error logs para siguradong okay na.

Mga Meaning ng phpMyAdmin Repair Options

Hindi lang repair ang available sa phpMyAdmin—may iba pang maintenance options. Hindi dapat basta gamitin nang hindi alam ang purpose.

Mga Meaning ng phpMyAdmin Repair Options
OptionPara saan?Kailan ginagamit?
Check TableSine-check ang structural integrity at error status ng table.Pang-validate bago at pagkatapos ng repair.
Repair TableInaayos ang corrupt MyISAM tables at indexes.Kapag lumabas ang "Table is marked as crashed"—ito ang unang safe step.
Optimize TableTinatanggal ang gaps mula sa deleted records para mas mabilis ang table.Pagkatapos ng heavy update/delete para sa performance.
Analyze TableIna-update ang index statistics para sa better query planning.Kapag may performance drop o maling index usage.

Sa madaling salita, Repair Table ang direktang solusyon sa "Table is marked as crashed" error. Ang optimize at analyze ay helpful maintenance tools, pero hindi solusyon sa corrupt table.

Bakit Iba ang Repair sa InnoDB Tables?

Sa phpMyAdmin, ang Repair Table ay hindi laging gumagana para sa InnoDB. Dahil ang InnoDB ay hindi simple file-based repair tulad ng MyISAM. May transaction log, redo/undo log, at tablespace structure si InnoDB para protektahan ang data. Kaya sa InnoDB errors, mas mainam na mag-review ng MySQL service logs, check disk status, mag-restore mula sa backup, o gumamit ng advanced recovery modes.

Kung MyISAM table ang may error, mataas ang chance na mag-work ang phpMyAdmin repair. Pero kung InnoDB ang may error—may messages tulad ng corrupt, tablespace, o cannot open table—mag-backup muna at i-review ang server logs bago mag-repair. Sa ganitong sitwasyon, mas safe ang humingi ng tulong sa hosting provider. Lalo na kung critical ang e-commerce data, iwasan ang random repair attempts—mas mainam ang propesyonal na intervention.

Paano Kung Hindi Nag-work ang Repair?

Hindi laging successful ang repair sa phpMyAdmin. Maaaring dahil sa sobrang laki ng table, malalang corruption, disk issues, o permission problems. Kung hindi nag-work, gawin ang mga sumusunod:

  • Restore mula sa backup: Pinaka-safe, i-restore ang latest backup bago nangyari ang error. I-save ang corrupted database separately bago mag-restore.
  • Gamitin ang myisamchk sa SSH: Para sa MyISAM tables, kung may server access, gamitin ang myisamchk tool. Kailangan i-stop ang MySQL o i-isolate ang table.
  • REPAIR TABLE command: Sa SQL tab ng phpMyAdmin, pwede mong itype: REPAIR TABLE table_name;. Sa malaking tables, gamitin ang QUICK o EXTENDED.
  • Check disk at inode usage: Kung puno ang disk o inodes, mag-fail ang repair. Linisin muna ang unnecessary backups, logs, at temp files.
  • Suriin ang server error logs: MySQL error log, web server log, at PHP error log ay critical para malaman ang root cause.

Kung shared hosting ang gamit mo, baka hindi mo magawa ang SSH o service stop. Sa ganitong kaso, i-report sa support team ang error message, table name, approximate time ng issue, at last backup date para mas mabilis ang solusyon.

Paano Maiiwasan ang Pag-ulit ng Error?

Ang one-time repair ay pansamantalang solusyon; ang tunay na fix ay infrastructure at maintenance discipline. Narito ang preventive steps para makaiwas sa MySQL table corruption:

Pag-convert ng MyISAM tables sa InnoDB

Sa mga modern web apps, mas solid ang InnoDB—may row-level locking, transaction support, at crash recovery. Para mag-convert: ALTER TABLE table_name ENGINE=InnoDB;. Pero i-test muna sa staging at mag-full backup bago gawin sa live site. Tandaan, may legacy software na kailangan ang MyISAM features.

Regular at reliable na backup policy

Ang backup ay dapat hindi lang nai-save, kundi madaling i-restore. Gumawa ng daily backups, weekly full backups, at manual backup bago malalaking update. Minimum 7-day retention ay okay para sa small/medium sites. Sa e-commerce, mas madalas ang backup o binlog-based recovery.

Monitor ang disk usage at resources

Kapag ang disk usage ay nasa 85-90%, dapat nang mag-alert. Kailangan ng MySQL ng free space para sa temp tables, logs, at index operations. CPU, RAM, at I/O wait times ay dapat imonitor. Kung palaging nagkaka-limit, mag-upgrade ng hosting—tingnan ang Korporatibong Hosting o Mataas na pagganap na hosting para sa mas malakas na plans.

Check plugin, theme, at software updates

Ang outdated software ay hindi lang security risk—pwede ring mag-cause ng inefficient queries. Sa WordPress, tanggalin ang unused plugins, linisin ang log tables, at iwasan ang unreliable plugins. Test sa staging bago mag-update para maiwasan ang biglaang table/index problems sa live site.

Tamang pag-shutdown at maintenance planning

Kung VPS o dedicated server ang gamit mo, iwasan ang force stop ng MySQL. Controlled shutdown ng services, updates sa low-traffic hours, at log review pagkatapos ng reboot ang best practices. Planned maintenance ay malaking tulong para sa busy databases.

Special Notes para sa WordPress Sites

Sa WordPress, ang MySQL errors ay kadalasang generic—error establishing database connection—pero sa error logs, makikita ang detalyadong table corruption. Madalas na-apektuhan ang wp_options, wp_posts, wp_postmeta, wp_comments, at mga log/scheduler tables mula sa plugins. Kapag nasira ang wp_options, hindi mababasa ang site settings; wp_posts—hindi ma-display ang content; log tables—bumabagal ang admin panel.

May built-in database repair ang WordPress: idagdag ang define('WP_ALLOW_REPAIR', true); sa wp-config.php, tapos bisitahin ang /wp-admin/maint/repair.php. Alisin agad ang line na ito pagkatapos ng repair—open ito sa public access! Mas safe pa rin ang phpMyAdmin method dahil makikita mo kung aling table ang sira. Para sa optimized hosting for WordPress, check WordPress Hosting.

Kailan Kailangan ng Professional Support?

Hindi lahat ng MySQL errors ay kaya mong solusyunan mag-isa. Kung alinman sa mga sumusunod ang nangyayari, mas mainam ang propesyonal na tulong:

  • Ang sira ay tables ng orders, payments, membership, o financial data.
  • Hindi pa rin naayos ang error pagkatapos ng repair, o nawawala ang table.
  • Malaki ang database—GBs—at nagti-timeout sa phpMyAdmin.
  • May InnoDB tablespace o redo log errors.
  • May disk/I/O/file system warnings.
  • Walang recent backup.

Sa pag-request ng support, ibigay ang full error message, affected database at table name, time nang nag-start ang problema, last update/migration, at backup date kung meron. Mas mabilis ang resolution kapag kompleto ang info.

Mabilis na Checklist

Kapag emergency, sundan ang order na ito:

  • Tukuyin ang sira na table mula sa error message.
  • Mag-backup ng kasalukuyang database.
  • Ilagay ang site sa maintenance mode.
  • Piliin ang tamang database sa phpMyAdmin.
  • Check ang table, gamitin ang Repair Table.
  • Check ulit ang table, test ang site functions.
  • Review ang disk, resources, backup, at table engine para sa preventive action.

Mga Madalas Itanong

May data loss ba kapag may "Table is marked as crashed" error sa MySQL?

Hindi palaging may data loss. Kadalasan, ang MyISAM tables ay nare-repair sa phpMyAdmin. Pero kung grabe ang corruption, may records na posibleng nawala. Kaya mahalaga ang backup bago mag-repair.

Safe ba mag-repair ng table sa phpMyAdmin?

Sa pangkalahatan, oo—pero may risk pa rin lalo na sa live database. Mag-backup muna, siguraduhing tamang table ang gagamitin, at kung pwede, i-maintenance mode ang site. Sa malalaking tables, mas mainam ang professional support.

Pwede ba ang "Repair Table" sa InnoDB tables?

Hindi ito ang recommended approach. Ang InnoDB ay hindi simple file repair—mas mainam ang pag-review ng logs, disk status, o restore mula sa backup. Random repair attempts ay pwedeng magpalala ng data loss.

Bakit paulit-ulit ang error?

Kung palaging nagkakaroon ng error, hindi pa natutugunan ang root cause: disk space, abrupt shutdowns, heavy write traffic, bad plugins, lumang MySQL, o patuloy na gamit ng MyISAM. Kailangan hanapin ang ugat ng problema.

Kung bago mag-repair, kailangan bang mag-consult sa hosting?

Sa simple MyISAM errors, mag-backup muna at mag-repair sa phpMyAdmin. Kung critical data, walang backup, malaki ang database, o InnoDB errors, mas magandang kumonsulta sa hosting support.

Konklusyon

MySQL "Table is marked as crashed" error ay karaniwang nangyayari sa MyISAM tables at kadalasan ay nasosolusyunan gamit ang phpMyAdmin. Ang tamang proseso: mag-backup muna, tukuyin ang sira na table, gawin ang repair, at alamin ang sanhi para maiwasan ang pag-ulit. Ang regular backup, sapat na server resources, paglipat sa InnoDB, at updated software ay nakakatulong para hindi lumala ang problema. Kung madalas ang ganitong errors sa site mo, panahon na para mag-review ng infrastructure at pumili ng tamang hosting—tingnan ang Hostragons resources o mag-request ng support para sa guidance.

Ibahagi ang artikulong ito:

Team ng Hostragons

Mga napapanahong gabay mula sa aming ekspertong koponan sa hosting, mga server, at mga domain name. Sama-sama nating hanapin ang tamang solusyon para sa iyong proyekto.

Makipag-ugnayan sa Amin