{"id":8202,"date":"2026-07-28T11:35:40","date_gmt":"2026-07-28T11:35:40","guid":{"rendered":"https:\/\/www.cigatisolutions.com\/blog\/?p=8202"},"modified":"2026-08-12T06:56:58","modified_gmt":"2026-08-12T06:56:58","slug":"recover-mysql-database-from-frm-and-ibd-files","status":"publish","type":"post","link":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/","title":{"rendered":"Recover MySQL Database from FRM and IBD Files: A DBA\u2019s 2026 Guide (Every Version, Every Scenario)"},"content":{"rendered":"\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-top\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;8202&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;top&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;2&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;5\\\/5 - (2 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Recover MySQL Database from FRM and IBD Files: A DBA\u2019s 2026 Guide (Every Version, Every Scenario)&quot;,&quot;width&quot;:&quot;142.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 142.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            5\/5 - (2 votes)    <\/div>\n    <\/div>\n<div class=\"migrate-btn-n my-4\">\n<p>If you\u2019re reading this, something already went wrong. The MySQL service won\u2019t start, or your information_schema sees the tables, but every query returns empty, or your data directory got copied off a dead server and now sits on your desk as a folder full of .frm, .ibd, .myd, and .myi files with no .sql dump in sight.<\/p>\n<p>This guide covers every working recovery path in 2026, split by MySQL version, storage engine, and what you actually have on disk. It also tells you when the manual route stops working, and you need <b><a href=\"https:\/\/www.cigatisolutions.com\/mysql-database-repair\/\" target=\"_blank\">Cigati MySQL Database Repair Tool<\/a><\/b> \u2014 which is not the answer to every case, only some.<\/p>\n<div class=\"row justify-content-center mac-win-tab mt-3 mb-5\">\n<div class=\"col-md-6\">\n<ul id=\"myTab\" class=\"nav nav-tabs justify-content-center\" role=\"tablist\">\n<li class=\"nav-item\" role=\"presentation\"><button id=\"home-tab\" class=\"nav-link bg-transparent px-4 active\" role=\"tab\" type=\"button\" data-toggle=\"tab\" data-target=\"#home\" aria-controls=\"home\" aria-selected=\"true\"><i class=\"icon-windows\"><\/i> Windows<\/button><\/li>\n<\/ul>\n<div id=\"myTabContent\" class=\"tab-content\">\n<div id=\"home\" class=\"tab-pane fade active show\" role=\"tabpanel\" aria-labelledby=\"home-tab\"><span class=\"block_btn\"><a class=\"primary-btn\" href=\"https:\/\/www.cigatisolutions.com\/demo-version\/cigati-mysql-database-repair.exe\"><i class=\"icon-windows\"><\/i> Download Now<\/a>\u00a0\u00a0<a class=\"secondary-btn\" href=\"https:\/\/www.cigatisolutions.com\/mysql-database-repair\/purchase-now.php\"><i class=\"icon-basket\"><\/i> Purchase Now<\/a><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#What_these_files_actually_contain\" >What these files actually contain<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#The_version_cliff_that_breaks_most_guides\" >The version cliff that breaks most guides<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#What_that_means_in_practice\" >What that means in practice:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Before_you_touch_anything_back_up_the_corpse\" >Before you touch anything: back up the corpse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Method_1_Manual_recovery_from_FRM_and_IBD_MySQL_57_and_MariaDB\" >Method 1: Manual recovery from FRM and IBD (MySQL 5.7 and MariaDB)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Stage_1_Spin_up_a_clean_MySQL_instance\" >Stage 1: Spin up a clean MySQL instance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Stage_2_Extract_the_schema_from_the_FRM_file\" >Stage 2: Extract the schema from the FRM file<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Stage_3_Recreate_each_table_on_the_new_server\" >Stage 3: Recreate each table on the new server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Stage_4_Discard_the_new_tablespace\" >Stage 4: Discard the new tablespace<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Stage_5_Copy_your_original_IBD_file_into_place_then_import\" >Stage 5: Copy your original IBD file into place, then import<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Method_2_Recovery_when_there_are_no_FRM_files_MySQL_80\" >Method 2: Recovery when there are no FRM files (MySQL 8.0+)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Method_3_Recovery_from_MyISAM_files_myd_and_myi\" >Method 3: Recovery from MyISAM files (.myd and .myi)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#When_manual_recovery_fails\" >When manual recovery fails<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#What_Cigati_MySQL_Database_Repair_Tool_handles\" >What Cigati MySQL Database Repair Tool handles<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Limitations\" >Limitations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#The_Trial-First_Workflow\" >The Trial-First Workflow<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Errors_this_covers_indexed_for_search\" >Errors this covers, indexed for search<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#What_people_actually_go_through_a_few_recoveries_in_the_wild\" >What people actually go through a few recoveries in the wild<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#What_Cigati_customers_report\" >What Cigati customers report<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Frequently_Asked_Questions\" >Frequently Asked Questions<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#Related\" >Related<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_these_files_actually_contain\"><\/span>What these files actually contain<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Two engines, four extensions.<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Engine<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Schema<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Data<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Indexes<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">InnoDB (default since MySQL 5.5)<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">.frm (up to MySQL 5.7)<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">.ibd for file-per-table setups, or a shared ibdata1 file for the old system tablespace<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">.ibd<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">MyISAM<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">.frm<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">.myd<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">.myi<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_version_cliff_that_breaks_most_guides\"><\/span>The version cliff that breaks most guides<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In <strong>MySQL 8.0<\/strong>, Oracle removed .frm files. Table metadata now lives in a data dictionary inside InnoDB tablespaces, plus a Serialized Dictionary Information (SDI) block written directly inside every .ibd file. Per the <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.4\/en\/data-dictionary-file-removal.html\" target=\"_blank\"><strong>MySQL 8.4 Reference Manual<\/strong><\/a>, .frm, .par, .TRG, .TRN, and .opt files no longer exist.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_that_means_in_practice\"><\/span>What that means in practice:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If your dead server ran MySQL 5.7 or earlier (or any MariaDB), you have <\/span><b>.frm<\/b><span style=\"font-weight: 400;\"> files and you can use the classic <\/span><b>DISCARD TABLESPACE \/ IMPORT TABLESPACE<\/b><span style=\"font-weight: 400;\"> route below.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If it ran MySQL 8.0 or later, there are no <\/span><b>.frm<\/b><span style=\"font-weight: 400;\"> files at all. You have <\/span><b>.ibd<\/b><span style=\"font-weight: 400;\"> files that contain their own schema (SDI) baked in, and you need <\/span><b>ibd2sdi<\/b><span style=\"font-weight: 400;\"> &#8211; not <\/span><b>mysqlfrm<\/b><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The <\/span><b>mysqlfrm<\/b><span style=\"font-weight: 400;\"> utility everyone links to is discontinued. It was part of MySQL Utilities, which Oracle abandoned. It still works on old<\/span><b> .frm<\/b><span style=\"font-weight: 400;\"> files if you can find it, but there\u2019s a better tool: <\/span><b>dbsake<\/b><span style=\"font-weight: 400;\">.<\/span><\/li>\n<\/ul>\n<p>Check your version on any surviving files before you touch them: wrong tool, wrong version, dead data.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Before_you_touch_anything_back_up_the_corpse\"><\/span>Before you touch anything: back up the corpse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Copy the entire data directory to a second location. Every recovery step below will fail on some tables, and you cannot go back if you\u2019ve already overwritten the originals. Preserve file ownership (mysql:mysql) and permissions (660) when you copy \u2014 losing those will make MySQL refuse to read the files later.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Method_1_Manual_recovery_from_FRM_and_IBD_MySQL_57_and_MariaDB\"><\/span>Method 1: Manual recovery from FRM and IBD (MySQL 5.7 and MariaDB)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This is the classic five-stage flow. It works when the files are intact but the server no longer starts, or you\u2019re transplanting tables from a dead instance.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Stage_1_Spin_up_a_clean_MySQL_instance\"><\/span>Stage 1: Spin up a clean MySQL instance<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Same major version as the source. Do not skip this. An .ibd file from 5.6 imported into 8.0 will corrupt on first read. Create an empty database on the fresh instance:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>CREATE DATABASE recovered_db;<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Stage_2_Extract_the_schema_from_the_FRM_file\"><\/span>Stage 2: Extract the schema from the FRM file<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>You have two working options in 2026.<\/p>\n<p><strong>Option A: dbsake (recommended)<\/strong>: It\u2019s a single Python binary, actively used by the community, and works on Linux, macOS, and Windows via WSL:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>curl -s http:\/\/get.dbsake.net &gt; dbsake<\/strong><br \/><strong>chmod u+x dbsake<\/strong><br \/><strong>.\/dbsake frmdump \/path\/to\/table.frm<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>That prints the exact CREATE TABLE statement. For a whole directory:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>for tbl in `ls -1 \/path\/to\/*.frm`; do<\/strong><br \/><strong>.\/dbsake frmdump $tbl | mysql -u root -p recovered_db<\/strong><br \/><strong>done<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Option B: mysqlfrm (legacy)<\/strong>: If you already have MySQL Utilities installed on an old machine:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>mysqlfrm &#8211; &#8211; server=root:password@127.0.0.1 &#8211; &#8211; port=3307 \/path\/to\/table.frm<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The &#8211; &#8211; diagnostic flag reads the file byte-by-byte without needing a running server, but the output is less clean and misses collations on some column types.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Stage_3_Recreate_each_table_on_the_new_server\"><\/span>Stage 3: Recreate each table on the new server<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Run the CREATE TABLE statements from Stage 2 against recovered_db. This creates fresh .frm and .ibd files in the new data directory.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Stage_4_Discard_the_new_tablespace\"><\/span>Stage 4: Discard the new tablespace<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For each table:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>ALTER TABLE table_name DISCARD TABLESPACE;<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This deletes the empty .ibd file MySQL just created, leaving the table schema pointing at nothing.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Stage_5_Copy_your_original_IBD_file_into_place_then_import\"><\/span>Stage 5: Copy your original IBD file into place, then import<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Copy the original .ibd from your backup into the new data directory:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>cp \/backup\/table_name.ibd \/var\/lib\/mysql\/recovered_db\/<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>chown mysql:mysql \/var\/lib\/mysql\/recovered_db\/table_name.ibd<\/strong><br \/><strong>chmod 660 \/var\/lib\/mysql\/recovered_db\/table_name.ibd<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Then import:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>ALTER TABLE table_name IMPORT TABLESPACE;<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If the schema matches exactly, the table becomes queryable. If MySQL throws Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, &#8230; ) or a similar error, your CREATE TABLE doesn\u2019t match what the .ibd was built with \u2014 go back to Stage 2 and look for ROW_FORMAT, character sets, or index differences.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Method_2_Recovery_when_there_are_no_FRM_files_MySQL_80\"><\/span>Method 2: Recovery when there are no FRM files (MySQL 8.0+)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The .ibd file itself has the schema baked in as SDI. Extract it with ibd2sdi, which ships with MySQL 8.0:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>ibd2sdi \/path\/to\/table.ibd &gt; table.json<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The output is a JSON blob describing every column, index, foreign key, and property. It\u2019s not a CREATE TABLE statement \u2014 you have to reconstruct one from the JSON. For a table with a few columns this takes minutes. For a table with 200 columns and 30 indexes, this is a full workday.<\/p>\n<p>Once you have the CREATE TABLE, the rest of the flow is identical: recreate the table, DISCARD TABLESPACE, drop the original .ibd in place, IMPORT TABLESPACE.<\/p>\n<p><b>Two catches worth knowing:<\/b><\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Catch<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Why it Kills the Method<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">.ibd was created by a newer MySQL 8.x version than your recovery server<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Import fails with tablespace version mismatch \u2014 no way around it<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Source server used encrypted tablespaces<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Import fails without the original keyring master key \u2014 no way to recover the key from just the files<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Method_3_Recovery_from_MyISAM_files_myd_and_myi\"><\/span>Method 3: Recovery from MyISAM files (.myd and .myi)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>MyISAM is dead but still shows up in legacy systems, older WordPress installs, and forum databases. Recovery is easier than InnoDB because there\u2019s no tablespace binding.<\/p>\n<p>Copy the <strong>.frm<\/strong>, <strong>.myd<\/strong>, and <strong>.myi<\/strong> files into <strong>\/var\/lib\/mysql\/dbname\/<\/strong>, fix ownership to <strong>mysql:mysql<\/strong>, and start the server. If MySQL detects them, you\u2019re done. If it complains that the table is marked as crashed, run:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>myisamchk &#8211; &#8211; recover \/var\/lib\/mysql\/dbname\/table.MYI<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Or from inside MySQL:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>REPAIR TABLE table_name;<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If myisamchk returns errors about a corrupted index, add &#8211;safe-recover. If that fails too, the .myd file itself has damaged pages, and you\u2019re at the same wall as a corrupted .ibd.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"When_manual_recovery_fails\"><\/span>When manual recovery fails<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The manual methods above assume the files are intact and only the server or its metadata is broken. Real disasters aren\u2019t that clean. Every DBA has seen this list:<\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>.ibd<\/b><span style=\"font-weight: 400;\"> file is truncated because the disk filled during a write.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Server crashed mid-transaction, and pages in the <\/span><b>.ibd<\/b><span style=\"font-weight: 400;\"> are torn.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ransomware encrypted half the data directory before you killed it.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The <\/span><b>mysql<\/b><span style=\"font-weight: 400;\"> system schema is gone, so grants and users are lost.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You have .ibd files but no <\/span><b>.frm<\/b><span style=\"font-weight: 400;\"> files, and no idea what the tables were called.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">MySQL says <\/span><b>InnoDB: Database page corruption on disk or a failed file read of page<\/b><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The tables show up in <\/span><b>SHOW TABLES<\/b><span style=\"font-weight: 400;\">, but <\/span><b>SELECT<\/b><span style=\"font-weight: 400;\"> returns <\/span><b>Table &#8216;x&#8217; doesn&#8217;t exist in engine<\/b><span style=\"font-weight: 400;\">.<\/span><\/li>\n<\/ul>\n<p>At this point, <strong>IMPORT TABLESPACE<\/strong> will not work. <strong>ibd2sdi<\/strong> will refuse to open the file. <strong>dbsake<\/strong> will dump garbage. The files need forensic-level page reconstruction \u2014 reading the raw InnoDB page format, salvaging what rows are readable, rebuilding indexes from primary keys, stitching tables back together from clustered index leaves.<br \/>That is what <a href=\"https:\/\/www.cigatisolutions.com\/mysql-database-repair\/how-it-works.html\" target=\"_blank\"><strong>Cigati MySQL Database Repair Tool<\/strong><\/a> does.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Cigati_MySQL_Database_Repair_Tool_handles\"><\/span>What Cigati MySQL Database Repair Tool handles<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The tool is a Windows utility that reads corrupted MySQL files at the storage engine level, not through the MySQL server. It covers the cases where the manual flow above dies:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Problem Area<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>How Cigati Addresses It<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Corrupted <strong>.ibd<\/strong> files (IMPORT TABLESPACE fails)<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Scans page-by-page, extracts readable rows, reconstructs the table<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Missing\/damaged <strong>.frm<\/strong> files (MySQL 5.7 and below)<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Infers schema from <strong>.ibd<\/strong> pages and primary key structure<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">MyISAM corruption <strong>(myisamchk &#8211; -safe-recover fails)<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Recovers directly from <strong>.myd\/.myi<\/strong> files<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">&#8220;Table doesn&#8217;t exist in engine&#8221; errors<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Recovers tables despite this mismatch, common after abrupt shutdowns<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Full data directory recovery<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Single-pass recovery instead of repeating the manual flow per table<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Restoring to a live server<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Restores directly into MySQL without an intermediate SQL dump<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Verifying recovered data before production<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Can export to a SQL script for inspection first<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Version\/engine support<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">MySQL 5.5\u20138.4 and MariaDB; InnoDB and MyISAM<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Limitations\"><\/span>Limitations<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>It does not recover data from files the disk itself lost. If the underlying storage returned zeros or bad sectors ate the pages, no software can restore what isn&#8217;t there.<\/p>\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Trial-First_Workflow\"><\/span>The Trial-First Workflow<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>The free demo does one thing: scans your files and shows you exactly what is recoverable, before you pay a rupee. If the preview shows all your tables, the paid version will save them. If the preview shows garbage, no license would have helped and you know it in ten minutes instead of three days.<\/p>\n<p><b><a href=\"https:\/\/www.cigatisolutions.com\/demo-version\/cigati-mysql-database-repair.exe\">Download the trial<\/a><\/b> \u2022 <b><a href=\"https:\/\/www.cigatisolutions.com\/mysql-database-repair\/purchase-now.php\" target=\"_blank\">Buy the full version<\/a><\/b><\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Errors_this_covers_indexed_for_search\"><\/span>Errors this covers, indexed for search<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Error String<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Cause<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Manual Fix<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Cigati Tool?<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Table &#8216;xxx&#8217; is marked as crashed and should be repaired<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">MyISAM index corruption<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">REPAIR TABLE or myisamchk &#8211; &#8211; recover<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Yes, when myisamchk &#8211; &#8211; safe-recover fails<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">InnoDB: Database page corruption on disk or a failed file read of page<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Torn page in the .ibd<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">None reliable<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Yes \u2014 page-level extraction<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">ERROR 1017 (HY000): Can&#8217;t find file: &#8216;table.frm&#8217;<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">File missing or wrong permissions<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Restore file, chown mysql:mysql, chmod 660<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Yes, when file is corrupt not missing<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Incorrect information in file: &#8216;.\/dbname\/table.frm&#8217;<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">.frm corrupted or wrong version<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Try dbsake frmdump; if garbage, tool<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Yes<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Table &#8216;x&#8217; doesn&#8217;t exist in engine<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">InnoDB dictionary and .ibd out of sync<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Restore whole data directory to fresh install<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Yes \u2014 reads files directly<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Tablespace has been discarded for table &#8216;x&#8217;<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">You ran DISCARD but haven&#8217;t imported yet<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Copy .ibd into place, IMPORT TABLESPACE<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Not needed<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\">Schema mismatch (Table has ROW_TYPE_DYNAMIC &#8230;)<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Your CREATE TABLE doesn&#8217;t match the .ibd<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Fix ROW_FORMAT, character set, indexes<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Yes, when schema is unknown<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_people_actually_go_through_a_few_recoveries_in_the_wild\"><\/span>What people actually go through a few recoveries in the wild<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The manual method has saved a lot of people, and it has left a lot of people stuck. Some real cases from public forums:<\/p>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Source<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Scenario<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Outcome<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>DBA Stack Exchange<\/strong> \u2014 Buttered_Toast (Rick James 81K rep, Bill Karwin 17K rep)<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Lost every database and rebuilt from <strong>.frm<\/strong> and <strong>.ibd<\/strong> files using mysqlfrm<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Tool discontinued. Both experts confirmed: on MySQL 8.0, the .frm route is dead. Backups are the only answer.<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Microsoft Learn Q&amp;A<\/strong> \u2014 Mehran Mahouti, 2021<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Data center migration; raw <strong>.MYD\/.MYI\/.frm\/.ibd<\/strong> files, no SQL dumps<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Manual recovery worked \u2014 barely. Hours lost. His words: &#8220;I would love to have found this solution from the beginning.&#8221;<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>GitHub Gist<\/strong> \u2014 luqmansungkar (top reference since 2020)<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Dozens of real recoveries across platforms and years<\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">&#8220;Worked first try.&#8221; &#8220;Works on Windows.&#8221; &#8220;Works on Mac.&#8221; Also: &#8220;Three days of trying \u2014 you&#8217;re the only one who saved me.&#8221;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The pattern is consistent. The manual method works when the files are clean, and the version is right. It fails silently when they aren\u2019t, and you don\u2019t find out until three days of trying.<\/p>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Cigati_customers_report\"><\/span>What Cigati customers report<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<table style=\"border-collapse: collapse; margin: 20px auto; text-align: left; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Signal<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Value<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Rating<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">4.8 \/ 5<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Reviews<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">1,256<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Paid customers<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">10,000+<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Third-party review platforms<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">Trustpilot, G2<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Version<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">22.0<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; padding: 10px;\"><strong>Size<\/strong><\/td>\n<td style=\"border: 1px solid #000; padding: 10px;\">1.8 MB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Named users on the product page:<\/p>\n<ul>\n<li><strong>Robert Mitchell, Enterprise Database Consultant<\/strong> \u2014 recovered a corrupted database in one pass, no<br \/>server performance impact.<\/li>\n<li><strong>Kevin Brooks, Senior DBA<\/strong> \u2014 recovered damaged files, restored to a live SQL script with all schema<br \/>elements intact.<\/li>\n<li><strong>Marco Rossi, IT Operations Lead<\/strong> \u2014 repaired multiple enterprise client databases with tables,<br \/>indexes, and triggers preserved.<\/li>\n<\/ul>\n<div class=\"faq-n my-4\">\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Frequently_Asked_Questions\"><\/span>Frequently Asked Questions<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"schema-faq wp-block-yoast-faq-block\">\n<div id=\"faq-question-1783689429337\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\"><strong>Q1. Can I recover a MySQL 8.0 database from .frm and .ibd files?<\/strong><\/strong><\/div>\n<p class=\"schema-faq-answer\"><strong>Ans<\/strong>. No, MySQL 8.0 has no .frm files. If yours does, they were left behind from a 5.7 upgrade and are ignored. The .ibd files carry their own schema via SDI. Use ibd2sdi or the Cigati tool.<\/p>\n<div id=\"faq-question-1783689444029\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\"><strong>Q2. Does mysqlfrm still work? <\/strong><\/strong>\n<p class=\"schema-faq-answer\"><strong>Ans<\/strong>. On MySQL 5.7 and MariaDB, yes, if you can find a copy; Oracle discontinued MySQL Utilities. dbsake is the actively maintained community replacement.<\/p>\n<\/div>\n<div id=\"faq-question-1783689453421\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\"><strong>Q3. Do I need root access on the source server?<\/strong><\/strong>\n<p class=\"schema-faq-answer\"><strong>Ans<\/strong>. No. The manual method needs only the raw .frm \/ .ibd \/ .myd \/ .myi files. Cigati tool needs only the files.<\/p>\n<\/div>\n<div id=\"faq-question-1783689477573\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\"><strong>Q4. What if I only have .ibd files and no .frm?<\/strong><\/strong>\n<p class=\"schema-faq-answer\"><strong>Ans<\/strong>. On MySQL 8.0+, that\u2019s the normal state; use ibd2sdi. On 5.7 and below, use the Cigati tool to reconstruct schema from the .ibd pages.<\/p>\n<\/div>\n<div id=\"faq-question-1783689491886\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\"><strong>Q5. Can I recover after ransomware encrypted the files?<\/strong><\/strong>\n<p class=\"schema-faq-answer\"><strong>Ans<\/strong>. No. Encrypted files are unreadable at the byte level. Restore from backups, or from an unaffected replica.<\/p>\n<div id=\"faq-question-1783689477573\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\"><strong>Q6. Will IMPORT TABLESPACE work between different MySQL versions? <\/strong><\/strong>\n<p class=\"schema-faq-answer\"><strong>Ans<\/strong>. No. Import requires the target server to be the same major version as the source, or newer within limits. Cross-version transplants fail with schema mismatch errors.<\/p>\n<\/div>\n<div id=\"faq-question-1783689477573\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\"><strong>Q7. What\u2019s the largest database this works on?<\/strong><\/strong>\n<p class=\"schema-faq-answer\"><strong>Ans<\/strong>. Manual method scales with your patience. Cigati tool handles multi-gigabyte .ibd files; recovery time depends on corruption depth, not just size.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Related\"><\/span>Related<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.cigatisolutions.com\/blog\/mysql-shutdown-unexpectedly-error\/\"><span style=\"font-weight: 400;\">MySQL Shutdown Unexpectedly<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.cigatisolutions.com\/blog\/mysql-is-marked-as-crashed-and-should-be-repaired\/\"><span style=\"font-weight: 400;\">MySQL is Marked as Crashed and Should be Repaired<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.cigatisolutions.com\/blog\/repair-sql-database-corruption\/\"><span style=\"font-weight: 400;\">Quick Ways to Repair SQL Database Corruption<\/span><\/a><\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you\u2019re reading this, something already went wrong. The MySQL service won\u2019t start, or your information_schema sees the tables, but<a class=\"read-more ml-1 main-read-more\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/\">Read More<\/a><\/p>\n","protected":false},"author":16,"featured_media":13946,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-8202","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-recovery"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Recover MySQL Database from FRM and IBD Files - 2026 Guide<\/title>\n<meta name=\"description\" content=\"Learn how to recover MySQL databases from FRM and IBD files using manual methods, fix common errors, and know when to use a repair tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recover MySQL Database from FRM and IBD Files - 2026 Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to recover MySQL databases from FRM and IBD files using manual methods, fix common errors, and know when to use a repair tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/\" \/>\n<meta property=\"og:site_name\" content=\"Cigati Solutions Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-28T11:35:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-12T06:56:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2023\/08\/recover-Mysql-Database-.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2240\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Khushboo Maurya\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Khushboo Maurya\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/\"},\"author\":{\"name\":\"Khushboo Maurya\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/ec773133ea316e7f1610ea23b9b10d39\"},\"headline\":\"Recover MySQL Database from FRM and IBD Files: A DBA\u2019s 2026 Guide (Every Version, Every Scenario)\",\"datePublished\":\"2026-07-28T11:35:40+00:00\",\"dateModified\":\"2026-08-12T06:56:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/\"},\"wordCount\":2221,\"publisher\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/recover-Mysql-Database-.webp\",\"articleSection\":[\"Data Recovery\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/\",\"url\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/\",\"name\":\"Recover MySQL Database from FRM and IBD Files - 2026 Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/recover-Mysql-Database-.webp\",\"datePublished\":\"2026-07-28T11:35:40+00:00\",\"dateModified\":\"2026-08-12T06:56:58+00:00\",\"description\":\"Learn how to recover MySQL databases from FRM and IBD files using manual methods, fix common errors, and know when to use a repair tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/recover-Mysql-Database-.webp\",\"contentUrl\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/recover-Mysql-Database-.webp\",\"width\":2240,\"height\":1260,\"caption\":\"Recover MySQL Database from FRM and IBD Files\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/recover-mysql-database-from-frm-and-ibd-files\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recover MySQL Database from FRM and IBD Files: A DBA\u2019s 2026 Guide (Every Version, Every Scenario)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/\",\"name\":\"Cigati Solutions Blog\",\"description\":\"Technical Tips &amp; Tricks of Data Migration\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#organization\",\"name\":\"Cigati Solutions Blog\",\"url\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/12\\\/cropped-cropped-cropped-cropped-cropped-cropped-logo_t-1.png\",\"contentUrl\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/12\\\/cropped-cropped-cropped-cropped-cropped-cropped-logo_t-1.png\",\"width\":182,\"height\":72,\"caption\":\"Cigati Solutions Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/ec773133ea316e7f1610ea23b9b10d39\",\"name\":\"Khushboo Maurya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4fb3b1b1b4a0e706842c88a6dd6ae579c3828b27b678e7711128ab17f985ebad?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4fb3b1b1b4a0e706842c88a6dd6ae579c3828b27b678e7711128ab17f985ebad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4fb3b1b1b4a0e706842c88a6dd6ae579c3828b27b678e7711128ab17f985ebad?s=96&d=mm&r=g\",\"caption\":\"Khushboo Maurya\"},\"description\":\"Khushboo Maurya is a digital content and SEO professional focused on creating useful, search-friendly content that connects with the right audience. She specializes in content optimization, website growth, and practical SEO strategies that improve visibility, engagement, and organic reach.\",\"url\":\"https:\\\/\\\/www.cigatisolutions.com\\\/blog\\\/author\\\/khushi123\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Recover MySQL Database from FRM and IBD Files - 2026 Guide","description":"Learn how to recover MySQL databases from FRM and IBD files using manual methods, fix common errors, and know when to use a repair tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/","og_locale":"en_US","og_type":"article","og_title":"Recover MySQL Database from FRM and IBD Files - 2026 Guide","og_description":"Learn how to recover MySQL databases from FRM and IBD files using manual methods, fix common errors, and know when to use a repair tool.","og_url":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/","og_site_name":"Cigati Solutions Blog","article_published_time":"2026-07-28T11:35:40+00:00","article_modified_time":"2026-08-12T06:56:58+00:00","og_image":[{"width":2240,"height":1260,"url":"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2023\/08\/recover-Mysql-Database-.webp","type":"image\/webp"}],"author":"Khushboo Maurya","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Khushboo Maurya","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#article","isPartOf":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/"},"author":{"name":"Khushboo Maurya","@id":"https:\/\/www.cigatisolutions.com\/blog\/#\/schema\/person\/ec773133ea316e7f1610ea23b9b10d39"},"headline":"Recover MySQL Database from FRM and IBD Files: A DBA\u2019s 2026 Guide (Every Version, Every Scenario)","datePublished":"2026-07-28T11:35:40+00:00","dateModified":"2026-08-12T06:56:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/"},"wordCount":2221,"publisher":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2023\/08\/recover-Mysql-Database-.webp","articleSection":["Data Recovery"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/","url":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/","name":"Recover MySQL Database from FRM and IBD Files - 2026 Guide","isPartOf":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#primaryimage"},"image":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2023\/08\/recover-Mysql-Database-.webp","datePublished":"2026-07-28T11:35:40+00:00","dateModified":"2026-08-12T06:56:58+00:00","description":"Learn how to recover MySQL databases from FRM and IBD files using manual methods, fix common errors, and know when to use a repair tool.","breadcrumb":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#primaryimage","url":"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2023\/08\/recover-Mysql-Database-.webp","contentUrl":"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2023\/08\/recover-Mysql-Database-.webp","width":2240,"height":1260,"caption":"Recover MySQL Database from FRM and IBD Files"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cigatisolutions.com\/blog\/recover-mysql-database-from-frm-and-ibd-files\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cigatisolutions.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Recover MySQL Database from FRM and IBD Files: A DBA\u2019s 2026 Guide (Every Version, Every Scenario)"}]},{"@type":"WebSite","@id":"https:\/\/www.cigatisolutions.com\/blog\/#website","url":"https:\/\/www.cigatisolutions.com\/blog\/","name":"Cigati Solutions Blog","description":"Technical Tips &amp; Tricks of Data Migration","publisher":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cigatisolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.cigatisolutions.com\/blog\/#organization","name":"Cigati Solutions Blog","url":"https:\/\/www.cigatisolutions.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cigatisolutions.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2018\/12\/cropped-cropped-cropped-cropped-cropped-cropped-logo_t-1.png","contentUrl":"https:\/\/www.cigatisolutions.com\/blog\/wp-content\/uploads\/2018\/12\/cropped-cropped-cropped-cropped-cropped-cropped-logo_t-1.png","width":182,"height":72,"caption":"Cigati Solutions Blog"},"image":{"@id":"https:\/\/www.cigatisolutions.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.cigatisolutions.com\/blog\/#\/schema\/person\/ec773133ea316e7f1610ea23b9b10d39","name":"Khushboo Maurya","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4fb3b1b1b4a0e706842c88a6dd6ae579c3828b27b678e7711128ab17f985ebad?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4fb3b1b1b4a0e706842c88a6dd6ae579c3828b27b678e7711128ab17f985ebad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4fb3b1b1b4a0e706842c88a6dd6ae579c3828b27b678e7711128ab17f985ebad?s=96&d=mm&r=g","caption":"Khushboo Maurya"},"description":"Khushboo Maurya is a digital content and SEO professional focused on creating useful, search-friendly content that connects with the right audience. She specializes in content optimization, website growth, and practical SEO strategies that improve visibility, engagement, and organic reach.","url":"https:\/\/www.cigatisolutions.com\/blog\/author\/khushi123\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/posts\/8202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=8202"}],"version-history":[{"count":18,"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/posts\/8202\/revisions"}],"predecessor-version":[{"id":13971,"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/posts\/8202\/revisions\/13971"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/media\/13946"}],"wp:attachment":[{"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=8202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=8202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cigatisolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=8202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}