{"id":523,"date":"2010-02-11T13:05:57","date_gmt":"2010-02-11T13:05:57","guid":{"rendered":"http:\/\/kedar.nitty-witty.com\/?p=523"},"modified":"2024-02-09T07:36:33","modified_gmt":"2024-02-09T07:36:33","slug":"mydumpsplitter-extract-tables-from-mysql-dump-shell-script","status":"publish","type":"post","link":"https:\/\/kedar.nitty-witty.com\/blog\/mydumpsplitter-extract-tables-from-mysql-dump-shell-script","title":{"rendered":"MyDumpSplitter-Extract split database or tables from mysqldump"},"content":{"rendered":"\n<p>The Mysqldumpsplitter can extract database, table, all databases, all tables or tables matching on regular expression from a mysqldump. It can produce the compressed output of sqls in specified directories.<\/p>\n\n\n\n<p>The tool has undergone a complete rewrite, and there are many more functionalities added. Please follow GitHub Repository for future changes or further improvements.<\/p>\n\n\n\n<p>Download the MySQL Dump Splitter utility from <a href=\"https:\/\/github.com\/kedarvj\/mysqldumpsplitter\" target=\"blank_\" rel=\"nofollow noopener\"><b>GitHub Repository.<\/b><\/a><\/p>\n\n\n\n<p>I have prepared a separate blog post to getting started with the mysqldumpsplitter. It&#8217;s a sort of guide for doing required and possible operations with the mysql-dump-splitter script. Read the <b><a href=\"http:\/\/kedar.nitty-witty.com\/how-to-recipes-for-mysqldumpsplitter\" target=\"_blank\" rel=\"noopener\">mysqldumpsplitter recipe blog post here<\/a><\/b>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Current Mysqldumpsplitter<\/strong> <strong>version is 6.1<\/strong>.<\/h2>\n\n\n\n<p>Watch the video of mysqldumpsplitter in action (Ver 4.0):<\/p>\n\n\n\n<center><iframe src=\"https:\/\/www.youtube.com\/embed\/TQ2vAtZHMFE\" width=\"420\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center>\n\n\n\n<p><br>&#8211; I will provide more videos with latest version.<br>Suggestions are welcome. I&#8217;ll update it whenever time permits.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Download mysqldumpsplitter script:<br><a href=\"https:\/\/raw.githubusercontent.com\/kedarvj\/mysqldumpsplitter\/master\/mysqldumpsplitter.sh\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">MySQLDump Splitter<\/a><br><\/h2>\n\n\n\n<p><strong>The shell script is as follows, prefer to download<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#!\/bin\/sh\n\n# Current Version: 6.1\n# Extracts database, table, all databases, all tables or tables matching on regular expression from the mysqldump.\n# Includes output compression options.\n# By: Kedar Vaijanapurkar\n# Website: http:\/\/kedar.nitty-witty.com\n# Original Blog Post: http:\/\/kedar.nitty-witty.com\/mydumpsplitter-extract-tables-from-mysql-dump-shell-script\n# Follow GIT: https:\/\/github.com\/kedarvj\/mysqldumpsplitter\/\n\n## Version Info:\n# Ver. 1.0: Feb 11, 2010\n# ... Initial version extract table(s) based on name, regexp or all of them from database-dump.\n# Ver. 2.0: Feb, 2015\n# ... Added database extract and compression\n# Ver. 3.0: March, 2015\n# ... Complete rewrite.\n# ... Extract all databases.\n# Ver. 4.0: March, 2015\n# ... More validations and bug fixes.\n# ... Support for config file.\n# ... Detecting source dump types (compressed\/sql).\n# ... Support for compressed backup and bz2 format.\n# Credit: Andrzej Wroblewski (andrzej.wroblewski@packetstorm.pl) for his inputs on compressed backup &amp; bz2 support.\n# Ver. 5.0: Apr, 2015\n# ... Describing the dump, listing all databases and tables\n# ... Extracting one or more tables from single database\n# Ver. 6.1: Oct, 2015\n# ... Bug fixing in REGEXP extraction functionlity\n# ... Bug fixing in describe functionality\n# ... Preserving time_zone &amp; charset env settings in extracted sqls.\n# Credit: @PeterTheDBA helped understanding the possible issues with environment variable settings included in first 17 lines of mysqldump.\n##\n\n# ToDo: Work with straming input\n## Formating Colour\n# Text color variables\ntxtund=$(tput sgr 0 1)    # Underline\ntxtbld=$(tput bold)       # Bold\ntxtred=$(tput setaf 1)    # Red\ntxtgrn=$(tput setaf 2)    # Green\ntxtylw=$(tput setaf 3)    # Yellow\ntxtblu=$(tput setaf 4)    # Blue\ntxtpur=$(tput setaf 5)    # Purple\ntxtcyn=$(tput setaf 6)    # Cyan\ntxtwht=$(tput setaf 7)    # White\ntxtrst=$(tput sgr0)       # Text reset\n\n## Variable Declaration\nSOURCE='';\nMATCH_STR='';\nEXTRACT='';\nOUTPUT_DIR='out';\nEXT=\"sql.gz\";\nTABLE_NAME='';\nDB_NAME='';\nCOMPRESSION='gzip';\nDECOMPRESSION='cat';\nVERSION=6.1\n\n## Usage Description\nusage()\n{\n        echo \"\\n\\t\\t\\t\\t\\t\\t\\t${txtgrn}${txtund}************ Usage ************ \\n\"${txtrst};\n        echo \"${txtgrn}sh mysqldumpsplitter.sh --source filename --extract [DB|TABLE|DBTABLES|ALLDBS|ALLTABLES|REGEXP] --match_str string --compression [gzip|pigz|bzip2|none] --decompression [gzip|pigz|bzip2|none] --output_dir [path to output dir] [--config \/path\/to\/config] ${txtrst}\"\n        echo \"${txtund}                                                    ${txtrst}\"\n        echo \"OPTIONS:\"\n        echo \"${txtund}                                                    ${txtrst}\"\n        echo \"  --source: mysqldump filename to process. It could be a compressed or regular file.\"\n        echo \"  --desc: This option will list out all databases and tables.\"\n        echo \"  --extract: Specify what to extract. Possible values DB, TABLE, ALLDBS, ALLTABLES, REGEXP\"\n        echo \"  --match_str: Specify match string for extract command option.\"\n        echo \"  --compression: gzip\/pigz\/bzip2\/none (default: gzip). Extracted file will be of this compression.\"\n        echo \"  --decompression: gzip\/pigz\/bzip2\/none (default: gzip). This will be used against input file.\"\n        echo \"  --output_dir: path to output dir. (default: .\/out\/)\"\n        echo \"  --config: path to config file. You may use --config option to specify the config file that includes following variables.\"\n        echo \"\\t\\tSOURCE=\n\\t\\tEXTRACT=\n\\t\\tCOMPRESSION=\n\\t\\tDECOMPRESSION=\n\\t\\tOUTPUT_DIR=\n\\t\\tMATCH_STR=\n\"\n        echo \"${txtund}                                                    ${txtrst}\"\n        echo \"Ver. $VERSION\"\n        exit 0;\n}\n\n## Parsing and processing input\nparse_result()\n{\n\n\n        ## Validate SOURCE is provided and exists\n        if [ -z $SOURCE ]; then\n            echo \"${txtred}ERROR: Source file not specified or does not exist. (Entered: $SOURCE)${txtrst}\"\n        elif [ ! -f $SOURCE ]; then\n            echo \"${txtred}ERROR: Source file does not exist. (Entered: $SOURCE)${txtrst}\"\n            exit 2;\n        fi\n\n        ## Parse Extract Operation\n        case $EXTRACT in\n                ALLDBS|ALLTABLES|DESCRIBE )\n                        if [ \"$MATCH_STR\" != '' ]; then\n                            echo \"${txtylw}Ignoring option --match_string.${txtrst}\"\n                        fi;\n                         ;;\n                DB|TABLE|REGEXP|DBTABLE)\n                        if [ \"$MATCH_STR\" = '' ]; then\n                            echo \"${txtred}ERROR: Expecting input for option --match_string.${txtrst}\"\n                            exit 1;\n                        fi;\n                        ;;\n                * )     echo \"${txtred}ERROR: Please specify correct option for --extract.${txtrst}\"\n                        usage;\n        esac;\n\n        ## Parse compression\n        if [ \"$COMPRESSION\" = 'none' ]; then\n                COMPRESSION='cat';\n                EXT=\"sql\"\n                echo \"${txtgrn}Setting no compression.${txtrst}\";\n        elif [ \"$COMPRESSION\" = 'pigz' ]; then\n                which $COMPRESSION &amp;&gt;\/dev\/null\n                if [ $? -ne 0 ]; then\n                        echo \"${txtred}WARNING:$COMPRESSION appears having issues, using default gzip.${txtrst}\";\n                        COMPRESSION=\"gzip\";\n                fi;\n                echo \"${txtgrn}Setting compression as $COMPRESSION.${txtrst}\";\n                EXT=\"sql.gz\"\n        elif [ \"$COMPRESSION\" = 'bzip2' ]; then\n                which $COMPRESSION &amp;&gt;\/dev\/null\n                if [ $? -ne 0 ]; then\n                        echo \"${txtred}WARNING:$COMPRESSION appears having issues, using default gzip.${txtrst}\";\n                        COMPRESSION=\"gzip\";\n                fi;\n                echo \"${txtgrn}Setting compression as $COMPRESSION.${txtrst}\";\n                EXT=\"sql.bz2\";\n        else\n                COMPRESSION='gzip';\n                echo \"${txtgrn}Setting compression $COMPRESSION (default).${txtrst}\";\n                EXT=\"sql.gz\"\n        fi;\n\n\n        ## Parse  decompression\n        if [ \"$DECOMPRESSION\" = 'none' ]; then\n                DECOMPRESSION='cat';\n                echo \"${txtgrn}Setting no decompression.${txtrst}\";\n        elif [ \"$DECOMPRESSION\" = 'pigz' ]; then\n                which $DECOMPRESSION &amp;&gt;\/dev\/null\n                if [ $? -ne 0 ]; then\n                        echo \"${txtred}WARNING:$DECOMPRESSION appears having issues, using default gzip.${txtrst}\";\n                        DECOMPRESSION=\"gzip -d -c\";\n                else\n                        DECOMPRESSION=\"pigz -d -c\";\n                fi;\n                echo \"${txtgrn}Setting decompression as $DECOMPRESSION.${txtrst}\";\n       elif [ \"$DECOMPRESSION\" = 'bzip2' ]; then\n                which $DECOMPRESSION &amp;&gt;\/dev\/null\n                if [ $? -ne 0 ]; then\n                        echo \"${txtred}WARNING:$DECOMPRESSION appears having issues, using default gzip.${txtrst}\";\n                        DECOMPRESSION=\"gzip -d -c\";\n                else\n                        DECOMPRESSION=\"bzip2 -d -c\";\n                fi;\n                echo \"${txtgrn}Setting decompression as $DECOMPRESSION.${txtrst}\";\n        else\n                DECOMPRESSION=\"gzip -d -c\";\n                echo \"${txtgrn}Setting decompression $DECOMPRESSION (default).${txtrst}\";\n        fi;\n\n\n        ## Verify file type:\n        filecommand=`file $SOURCE`\n        echo $filecommand | grep \"compressed\"  1&gt;\/dev\/null\n        if [ `echo $?` -eq 0 ]\n        then\n                echo \"${txtylw}File $SOURCE is a compressed dump.${txtrst}\"\n                if [ \"$DECOMPRESSION\" = 'cat' ]; then\n                        echo \"${txtred} The input file $SOURCE appears to be a compressed dump. \\n While the decompression is set to none.\\n Please specify ${txtund}--decompression [gzip|bzip2|pigz]${txtrst}${txtred} argument.${txtrst}\";\n                        exit 1;\n                fi;\n        else\n                echo \"${txtylw}File $SOURCE is a regular dump.${txtrst}\"\n                if [ \"$DECOMPRESSION\" != 'cat' ]; then\n                        echo \"${txtred} Default decompression method for source is gzip. \\n The input file $SOURCE does not appear a compressed dump. \\n ${txtylw}We will try using no decompression. Please consider specifying ${txtund}--decompression none${txtrst}${txtylw} argument.${txtrst}\";\n                        DECOMPRESSION='cat'; ## Auto correct decompression to none for regular files.\n                fi;\n        fi;\n\n\n        # Output directory\n        if [ \"$OUTPUT_DIR\" = \"\" ]; then\n                OUTPUT_DIR=\"out\";\n        fi;\n        mkdir -p $OUTPUT_DIR\n        if [ $? -eq 0 ]; then\n                echo \"${txtgrn}Setting output directory: $OUTPUT_DIR.${txtrst}\";\n        else\n                echo \"${txtred}ERROR:Issue while checking output directory: $OUTPUT_DIR.${txtrst}\";\n                exit 2;\n        fi;\n\necho \"${txtylw}Processing: Extract $EXTRACT $MATCH_STR from $SOURCE with compression option as $COMPRESSION and output location as $OUTPUT_DIR${txtrst}\";\n\n}\n\n# Include first 17 lines of full mysqldump - preserve time_zone\/charset\/environment variables.\ninclude_dump_info()\n{\n        if [ $1 = \"\" ]; then\n                echo \"${txtred}Couldn't find out-put file while preserving time_zone\/charset settings!${txtrst}\"\n                exit;\n        fi;\n        OUTPUT_FILE=$1\n\n        echo \"Including environment settings from mysqldump.\"\n        $DECOMPRESSION $SOURCE | head -17 | $COMPRESSION &gt; $OUTPUT_DIR\/$OUTPUT_FILE.$EXT\n        echo \"\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$MATCH_STR.$EXT\n        echo \"\/* -- Splitted with mysqldumpsplitter (http:\/\/goo.gl\/WIWj6d) -- *\/\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$OUTPUT_FILE.$EXT\n        echo \"\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$MATCH_STR.$EXT\n}\n\n## Actual dump splitting\ndump_splitter()\n{\n        case $EXTRACT in\n                DB)\n                        # Include first 17 lines of standard mysqldump to preserve time_zone and charset.\n                        include_dump_info $MATCH_STR\n\n                        echo \"Extracting Database: $MATCH_STR\";\n                        $DECOMPRESSION $SOURCE | sed -n \"\/^-- Current Database: \\`$MATCH_STR\\`\/,\/^-- Current Database: \/p\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$MATCH_STR.$EXT\n                        echo \"${txtbld} Database $MATCH_STR  extracted from $SOURCE at $OUTPUT_DIR${txtrst}\"\n                        ;;\n\n                TABLE)\n                        # Include first 17 lines of standard mysqldump to preserve time_zone and charset.\n                        include_dump_info $MATCH_STR\n\n                        #Loop for each tablename found in provided dumpfile\n                        echo \"Extracting $MATCH_STR.\"\n                        #Extract table specific dump to tablename.sql\n                        $DECOMPRESSION  $SOURCE | sed -n \"\/^-- Table structure for table \\`$MATCH_STR\\`\/,\/^-- Table structure for table\/p\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$MATCH_STR.$EXT\n                        echo \"${txtbld} Table $MATCH_STR  extracted from $SOURCE at $OUTPUT_DIR${txtrst}\"\n                        ;;\n\n                ALLDBS)\n                        for dbname in $($DECOMPRESSION $SOURCE | grep -E \"^-- Current Database: \" | awk -F\"\\`\" {'print $2'})\n                        do\n                         # Include first 17 lines of standard mysqldump to preserve time_zone and charset.\n                         include_dump_info $dbname\n\n                                echo \"Extracting Database $dbname...\"\n                                #Extract database specific dump to database.sql.gz\n                                $DECOMPRESSION $SOURCE | sed -n \"\/^-- Current Database: \\`$dbname\\`\/,\/^-- Current Database: \/p\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$dbname.$EXT\n                                DB_COUNT=$((DB_COUNT+1))\n                         echo \"${txtbld}Database $dbname extracted from $SOURCE at $OUTPUT_DIR\/$dbname.$EXT${txtrst}\"\n                        done;\n                        echo \"${txtbld}Total $DB_COUNT databases extracted.${txtrst}\"\n                        ;;\n\n                ALLTABLES)\n\n                        for tablename in $($DECOMPRESSION $SOURCE | grep \"Table structure for table \" | awk -F\"\\`\" {'print $2'})\n                        do\n                         # Include first 17 lines of standard mysqldump to preserve time_zone and charset.\n                         include_dump_info $tablename\n\n                         #Extract table specific dump to tablename.sql\n                         $DECOMPRESSION $SOURCE | sed -n \"\/^-- Table structure for table \\`$tablename\\`\/,\/^-- Table structure for table\/p\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$tablename.$EXT\n                         TABLE_COUNT=$((TABLE_COUNT+1))\n                         echo \"${txtbld}Table $tablename extracted from $DUMP_FILE at $OUTPUT_DIR\/$tablename.$EXT${txtrst}\"\n                        done;\n                         echo \"${txtbld}Total $TABLE_COUNT tables extracted.${txtrst}\"\n                        ;;\n                REGEXP)\n\n                        TABLE_COUNT=0;\n                        for tablename in $($DECOMPRESSION $SOURCE | grep -E \"Table structure for table \\`$MATCH_STR\" | awk -F\"\\`\" {'print $2'})\n                        do\n                         # Include first 17 lines of standard mysqldump to preserve time_zone and charset.\n                         include_dump_info $tablename\n\n                         echo \"Extracting $tablename...\"\n                                #Extract table specific dump to tablename.sql\n                                $DECOMPRESSION $SOURCE | sed -n \"\/^-- Table structure for table \\`$tablename\\`\/,\/^-- Table structure for table\/p\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$tablename.$EXT\n                         echo \"${txtbld}Table $tablename extracted from $DUMP_FILE at $OUTPUT_DIR\/$tablename.$EXT${txtrst}\"\n                                TABLE_COUNT=$((TABLE_COUNT+1))\n                        done;\n                        echo \"${txtbld}Total $TABLE_COUNT tables extracted.${txtrst}\"\n                        ;;\n\n                DBTABLE)\n\n                        MATCH_DB=`echo $MATCH_STR | awk -F \".\" {'print $1'}`\n                        MATCH_TBLS=`echo $MATCH_STR | awk -F \".\" {'print $2'}`\n                        if [ \"$MATCH_TBLS\" = \"*\" ]; then\n                         MATCH_TBLS='';\n                        fi;\n                        TABLE_COUNT=0;\n\n                        for tablename in $( $DECOMPRESSION $SOURCE | sed -n \"\/^-- Current Database: \\`$MATCH_DB\\`\/,\/^-- Current Database: \/p\" | grep -E \"^-- Table structure for table \\`$MATCH_TBLS\" | awk -F '\\`' {'print $2'} )\n                        do\n                                echo \"Extracting $tablename...\"\n                                #Extract table specific dump to tablename.sql\n                         # Include first 17 lines of standard mysqldump to preserve time_zone and charset.\n                         include_dump_info $tablename\n\n                                $DECOMPRESSION $SOURCE | sed -n \"\/^-- Current Database: \\`$MATCH_DB\\`\/,\/^-- Current Database: \/p\" | sed -n \"\/^-- Table structure for table \\`$tablename\\`\/,\/^-- Table structure for table\/p\" | $COMPRESSION &gt;&gt; $OUTPUT_DIR\/$tablename.$EXT\n                         echo \"${txtbld}Table $tablename extracted from $DUMP_FILE at $OUTPUT_DIR\/$tablename.$EXT${txtrst}\"\n                                TABLE_COUNT=$((TABLE_COUNT+1))\n                        done;\n                        echo \"${txtbld}Total $TABLE_COUNT tables extracted from $MATCH_DB.${txtrst}\"\n                        ;;\n\n                *)      echo \"Wrong option, exiting.\";\n                        usage;\n                        exit 1;;\n        esac\n}\n\nmissing_arg()\n{\n        echo \"${txtred}ERROR:Missing argument $1.${txtrst}\"\n        exit 1;\n}\n\nif [ \"$#\" -eq 0 ]; then\n        usage;\n        exit 1;\nfi\n\n# Accepts Parameters\nwhile [ \"$1\" != \"\" ]; do\n    case $1 in\n        --source|-S  )   shift\n                if [ -z $1 ]; then\n                        missing_arg --source\n                fi;\n                SOURCE=$1 ;;\n\n        --extract|-E  )   shift\n                if [ -z $1 ]; then\n                        missing_arg --extract\n                fi;\n                EXTRACT=$1 ;;\n        --compression|-C  )   shift\n                if [ -z $1 ]; then\n                        missing_arg --compression\n                fi;\n                COMPRESSION=$1 ;;\n        --decompression|-D) shift\n                if [ -z $1 ]; then\n                        missing_arg --decompression\n                fi;\n                DECOMPRESSION=$1 ;;\n        --output_dir|-O  ) shift\n                if [ -z $1 ]; then\n                        missing_arg --output_dir\n                fi;\n                OUTPUT_DIR=$1 ;;\n        --match_str|-M ) shift\n                if [ -z $1 ]; then\n                        missing_arg --match_str\n                fi;\n                MATCH_STR=$1 ;;\n        --desc  )\n                        EXTRACT=\"DESCRIBE\"\n                        parse_result\n                        echo \"-------------------------------\";\n                        echo \"Database\\t\\tTables\";\n                        echo \"-------------------------------\";\n                        $DECOMPRESSION $SOURCE | grep -E \"(^-- Current Database:|^-- Table structure for table)\" | sed  's\/-- Current Database: \/-------------------------------\\n\/' | sed 's\/-- Table structure for table \/\\t\\t\/'| sed 's\/`\/\/g' ;\n                        echo \"-------------------------------\";\n                        exit 0;\n                ;;\n\n        --config        ) shift;\n                if [ -z $1 ]; then\n                        missing_arg --config\n                fi;\n                if [ ! -f $1 ]; then\n                    echo \"${txtred}ERROR: Config file $1 does not exist.${txtrst}\"\n                    exit 2;\n                fi;\n. .\/$1 ;;\n        -h  )   usage\n                exit ;;\n        * )     echo \"\";\n                usage\n                exit 1\n    esac\n    shift\ndone\n\nparse_result\ndump_splitter\nexit 0;\n<\/pre>\n\n\n\n<p><b>MySQL Dump Splitter Version Info:<\/b><br>Version-1: Initial script (Feb-11, 2010)<\/p>\n\n\n\n<p>Version-2: (Feb,2015)<br>&#8211; The script is updated to generate compressed output of sqls.<br>&#8211; Script can be used to extract a database.<\/p>\n\n\n\n<p>Version-3: (March-2, 2015)<br>&#8211; Complete rewrite of the script<br>&#8211; Script can extract all databases.<\/p>\n\n\n\n<p>Version-4: (March-15, 2015)<br>&#8211; More validations and bug fixes.<br>&#8211; Detecting source dump types (compressed\/sql).<br>&#8211; Support for compressed backup and bz2 format.<br>&#8211; Support for config file.<\/p>\n\n\n\n<p>Version-5: (April-25, 2015)<br>&#8211; Describing the dump, listing all databases and tables<br>&#8211; Extracting one or more tables from single database<\/p>\n\n\n\n<p>Version-6.1: Oct, 2015<br>&#8211; Bug fixing in REGEXP extraction functionality<br>&#8211; Bug fixing in describe functionality<br>&#8211; Preserving time_zone &amp; charset env settings in extracted sqls.<\/p>\n\n\n\n<p>Old Version (very first) of mysqldumpsplitter is available for <a href=\"http:\/\/kedar.nitty-witty.com\/wp-content\/uploads\/2010\/02\/mysqldumpsplitter.sh.txt\" target=\"blank_\" rel=\"noopener\">download<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"The Mysqldumpsplitter can extract database, table, all databases, all tables or tables matching on regular expression from a mysqldump. It can produce the compressed output of sqls in specified directories.&hellip;\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[869,8,378],"tags":[677,676,159,245,105,246],"class_list":{"0":"post-523","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-mariadb","7":"category-mysql","8":"category-mysql-scripts-mysql","9":"tag-extract-database-from-mysqldump","10":"tag-extract-table-from-mysqldump","11":"tag-mysql-dump-splitter","12":"tag-mysqldumpsplitter","13":"tag-shell-script","14":"tag-split-mysql-dump"},"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/comments?post=523"}],"version-history":[{"count":25,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/523\/revisions"}],"predecessor-version":[{"id":3273,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/523\/revisions\/3273"}],"wp:attachment":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/media?parent=523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/categories?post=523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/tags?post=523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}