{"id":3013,"date":"2018-03-08T19:20:26","date_gmt":"2018-03-08T16:20:26","guid":{"rendered":"http:\/\/www.serveridol.com\/?p=3043"},"modified":"2018-03-08T19:20:26","modified_gmt":"2018-03-08T16:20:26","slug":"mysql-enterprise-backup-meb-how-to-backup-and-restore-a-db-server","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/mysql-enterprise-backup-meb-how-to-backup-and-restore-a-db-server\/","title":{"rendered":"MySQL Enterprise Backup (MEB) : How to Backup and Restore a DB server"},"content":{"rendered":"<p dir=\"ltr\" style=\"text-align: left;\">We are maintaining a huge MySQL database server which having more than 3TB data. It\u2019s very had for us to backup, move and restore those databases from one host to another or once network to another due to size constrains. Moreover any of these activities would be involved lots of time and work precision during any of db restoration and backup.<\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><a href=\"http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3044\" src=\"http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup-300x170.jpg\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" srcset=\"http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup-300x170.jpg 300w, http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup-768x435.jpg 768w, http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup-1024x580.jpg 1024w, http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup-150x85.jpg 150w, http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup-400x227.jpg 400w, http:\/\/www.serveridol.com\/wp-content\/uploads\/2017\/04\/MySQL_backup.jpg 1283w\" alt=\"\" width=\"300\" height=\"170\" title=\"\"><\/a><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\">After a Googling it is identify that MySQL Enterprise version have all those features to fast backup and restore with better performance.<strong> But it is not freely available to download :-p <\/strong>. It is identified that their backup involve the following facts<\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><em>Note: It is not possible to take single database backup\/restore using MEB tool(did not tried :-)) <\/em><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>MEB Backup Logic <\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\">a. It\u2019s possible to backup Online without having any table lock or performance change.But recommending it to execute on off business hours.<br \/>\nb. MySQL Enterprise Backup (MEB) compress the backup in<strong> .bz<\/strong> format (This is optional and we\u2019ve chosen this since we have TB storage) and store it on <strong>\u2013backup-dir<\/strong> location. Hence the backup size will be noticeable less than the actual data storage and portable.<\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>MEB Restore Logic<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>a. <\/strong>Apply-log and uncompress option will decompress the data files in backup location and make it ready for further action. This will decompress the files in backup location without over writing it. But I found that huge compressed files will be deleted once it is decompressed.<\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>b.<\/strong> Copy backup option will be copy the actual data files from backup location those are decompressed and move it to <strong>\u201c\u2013datadir<\/strong>\u201d path which mention in the <strong>my.cnf <\/strong>file.<\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>MEB backup involves three steps if we compress the backup. <\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>1. How do I backup the MySQL server using MEB <\/strong><\/p>\n<div class=\"codecolorer-container text vibrant\" dir=\"ltr\" style=\"overflow: auto; white-space: nowrap; border: 1px solid #9f9f9f; width: 435px; text-align: left;\">\n<div class=\"text codecolorer\" style=\"padding: 5px; font: normal 12px\/1.4em Monaco, Lucida Console, monospace; white-space: nowrap;\">\u00a0 \/opt\/meb-3.8\/bin\/mysqlbackup -u root &#8211;backup-dir=&#8221;\/storage\/dbbackup\/backup-`date +%F`\/&#8221; &#8211;compress &#8211;compress-level=1 \u00a0 &#8211;show-progress backup &#8211;socket=\/var\/lib\/mysql\/mysql.sock &#8211;show-progress=file:\/tmp\/mebProgress`date +%Y-%m-%d-%H-%M`.log \u00a0 \u00a0 2&gt;&amp;1 | tee \/tmp\/mysqlbackupFull.`date +%Y-%m-%d-%H-%M`.log<\/div>\n<\/div>\n<p dir=\"ltr\" style=\"text-align: left;\"><em>\u2013backup-dir :<\/em> Location of backup files to be stored<br \/>\n<em>\u2013socket :<\/em> Will identify the running sever and collect the mysql data location to be backed up.<br \/>\n<strong>\/tmp\/mysqlbackupFull and \u2013show-progress=file :<\/strong> These options will capture all the MEB output for identifying the progress. We uses a screen session from Linux box to trigger the backup as it will take 6-8 hours to complete.<\/p>\n<div class=\"codecolorer-container text vibrant\" dir=\"ltr\" style=\"overflow: auto; white-space: nowrap; border: 1px solid #9f9f9f; width: 435px; text-align: left;\">\n<div class=\"text codecolorer\" style=\"padding: 5px; font: normal 12px\/1.4em Monaco, Lucida Console, monospace; white-space: nowrap;\">\n<p>170421 00:31:53 mysqlbackup: INFO: Copying the database directory &#8216;Docs&#8217;<br \/>\n170421 00:31:53 mysqlbackup: INFO: Copying the database directory &#8216;mysql&#8217;<br \/>\n170421 00:31:53 mysqlbackup: INFO: Copying the database directory &#8216;performance_schema&#8217;<br \/>\n170421 00:31:53 mysqlbackup: INFO: Copying the database directory &#8216;test&#8217;<br \/>\n170421 00:31:53 mysqlbackup: INFO: Copying the database directory &#8216;test1&#8217;<br \/>\n170421 00:31:53 mysqlbackup: INFO: Copying the database directory &#8216;tests&#8217;<br \/>\n170421 00:31:53 mysqlbackup: INFO: Completing the copy of all non-innodb files.<br \/>\n170421 00:31:54 mysqlbackup: INFO: Progress: 20 of 20 MB; state: Copying metadata to image; compression: &#8211;<br \/>\n170421 00:31:54 mysqlbackup: INFO: A copied database page was modified at 5312129472.<br \/>\n(This is the highest lsn found on page)<br \/>\nScanned log up to lsn 5312132652.<br \/>\nWas able to parse the log up to lsn 5312132652.<br \/>\nMaximum page number for a log record 428<br \/>\n170421 00:31:54 mysqlbackup: INFO: All tables unlocked<br \/>\n170421 00:31:54 mysqlbackup: INFO: All MySQL tables were locked for 0.914 seconds.<br \/>\n170421 00:31:54 mysqlbackup: INFO: Progress: 20 of 20 MB; state: Completed; compression: &#8211;<br \/>\n170421 00:31:54 mysqlbackup: INFO: Compressed 18 MB of data files to 1092 kbytes (compression 94.08%).<br \/>\n170421 00:31:54 mysqlbackup: INFO: Compress Backup operation completed successfully.<br \/>\n170421 00:31:54 mysqlbackup: INFO: Backup created in directory &#8216;\/var\/dbbackup\/backup-2017-04-21\/&#8217;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nParameters Summary<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nStart LSN \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0: 5312129024<br \/>\nEnd LSN \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0: 5312132652<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>mysqlbackup completed OK!<\/p>\n<\/div>\n<\/div>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong> 2. How to Decompress the backup <\/strong><\/p>\n<div class=\"codecolorer-container text vibrant\" dir=\"ltr\" style=\"overflow: auto; white-space: nowrap; border: 1px solid #9f9f9f; width: 435px; text-align: left;\">\n<div class=\"text codecolorer\" style=\"padding: 5px; font: normal 12px\/1.4em Monaco, Lucida Console, monospace; white-space: nowrap;\">\/opt\/meb-3.8\/bin\/mysqlbackup &#8211;backup-dir=&#8221;\/var\/dbbackup\/backup-2017-04-20&#8243; &#8211;uncompress apply-log \u00a02&gt;&amp;1 | tee \/tmp\/Extracing_backup.`date +%Y-%m-%d-%H-%M`.log<\/div>\n<\/div>\n<p dir=\"ltr\" style=\"text-align: left;\"><em>\u2013backup-dir :<\/em> backup location which MEB push the backup earlier.<\/p>\n<div class=\"codecolorer-container text vibrant\" dir=\"ltr\" style=\"overflow: auto; white-space: nowrap; border: 1px solid #9f9f9f; width: 435px; text-align: left;\">\n<div class=\"text codecolorer\" style=\"padding: 5px; font: normal 12px\/1.4em Monaco, Lucida Console, monospace; white-space: nowrap;\">\n<p>\u00a0mysqlbackup: INFO: Creating 1 buffers each of size 65678.<br \/>\n170421 00:48:02 mysqlbackup: INFO: Apply-log operation starts with following threads<br \/>\n1 read-threads \u00a0 \u00a01 process-threads<br \/>\n170421 00:48:02 mysqlbackup: INFO: ibbackup_logfile&#8217;s creation parameters:<br \/>\nstart lsn 5312129024, end lsn 5312132652,<br \/>\nstart checkpoint 5312129472.<br \/>\nInnoDB: Doing recovery: scanned up to log sequence number 5312132652<br \/>\nmysqlbackup: INFO: InnoDB: Starting an apply batch of log records to the database&#8230;<br \/>\nInnoDB: Progress in percent: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Setting log file size to 536870912<br \/>\nInnoDB: Progress in MB: 100 200 300 400 500<br \/>\nSetting log file size to 536870912<br \/>\nInnoDB: Progress in MB: 100 200 300 400 500<br \/>\n170421 00:48:05 mysqlbackup: INFO: We were able to parse ibbackup_logfile up to<br \/>\nlsn 5312132652.<br \/>\n170421 00:48:05 mysqlbackup: INFO: The first data file is &#8216;\/var\/dbbackup\/backup-2017-04-21\/datadir\/ibdata1&#8217;<br \/>\nand the new created log files are at &#8216;\/var\/dbbackup\/backup-2017-04-21\/datadir&#8217;<br \/>\n170421 00:48:05 mysqlbackup: INFO: Apply-log operation completed successfully.<br \/>\n170421 00:48:05 mysqlbackup: INFO: Full backup prepared for recovery successfully.<\/p>\n<p>mysqlbackup completed OK! with 1 warnings<\/p>\n<\/div>\n<\/div>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>3. How do I restore the MEB backup <\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\">Restoration involves lots of steps. First we need to stop the MySQL service and remove the data directory. Pls take a copy of mysql database and other tables if you required. Mysql db backup can help to retain the existing permission if you are using same db names on target location.<\/p>\n<p dir=\"ltr\" style=\"text-align: left;\">a. Stop the Mysql service after taking the necessary backup.<br \/>\nb. Delete\/move the data folder path shown at <strong>\u2018\u2013datadir\u2019<\/strong> variable in<strong> my.cnf<\/strong> file.<br \/>\nc. Apply the below command and change the path \u2013datadir with your location.<\/p>\n<div class=\"codecolorer-container text vibrant\" dir=\"ltr\" style=\"overflow: auto; white-space: nowrap; border: 1px solid #9f9f9f; width: 435px; text-align: left;\">\n<div class=\"text codecolorer\" style=\"padding: 5px; font: normal 12px\/1.4em Monaco, Lucida Console, monospace; white-space: nowrap;\">\/opt\/meb-3.8\/bin\/mysqlbackup &#8211;backup-dir=&#8221;\/var\/dbbackup\/backup-2017-04-20&#8243; \u00a0copy-back \u00a0&#8211;datadir=\/var\/lib\/mysql &#8211;show-progress=file:\/tmp\/mebProgress`date +%Y-%m-%d-%H-%M`\u200b.log \u00a0 \u00a0 2&gt;&amp;1 | tee \/tmp\/mysqlrestore.`date +%Y-%m-%d-%H-%M`.log<\/div>\n<\/div>\n<div class=\"codecolorer-container text vibrant\" dir=\"ltr\" style=\"overflow: auto; white-space: nowrap; border: 1px solid #9f9f9f; width: 435px; height: 300px; text-align: left;\">\n<div class=\"text codecolorer\" style=\"padding: 5px; font: normal 12px\/1.4em Monaco, Lucida Console, monospace; white-space: nowrap;\">\n<p>[root@ ~]# \/opt\/meb-3.8\/bin\/mysqlbackup &#8211;backup-dir=&#8221;\/var\/dbbackup\/backup-2017-04-21&#8243; \u00a0copy-back \u00a0&#8211;datadir=\/var\/lib\/mysql &#8211;show-progress=file:\/tmp\/mebProgress`date +%Y-%m-%d-%H-%M`\u200b.log \u00a0 \u00a0 2&gt;&amp;1 | tee \/tmp\/mysqlrestore.`date +%Y-%m-%d-%H-%M`.log<br \/>\nMySQL Enterprise Backup version 3.8.2 [2013\/06\/18]<br \/>\nCopyright (c) 2003, 2012, Oracle and\/or its affiliates. All Rights Reserved.<\/p>\n<p>mysqlbackup: INFO: Starting with following command line &#8230;<br \/>\n\/opt\/meb-3.8\/bin\/mysqlbackup<br \/>\n&#8211;backup-dir=\/var\/dbbackup\/backup-2017-04-21 copy-back<br \/>\n&#8211;datadir=\/var\/lib\/mysql<br \/>\n&#8211;show-progress=file:\/tmp\/mebProgress2017-04-21-00-49\u200b.log<\/p>\n<p>IMPORTANT: Please check that mysqlbackup run completes successfully.<br \/>\nAt the end of a successful &#8216;copy-back&#8217; run mysqlbackup<br \/>\nprints &#8220;mysqlbackup completed OK!&#8221;.<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nServer Repository Options:<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\ndatadir = \/var\/lib\/mysql<br \/>\ninnodb_data_home_dir = \/var\/lib\/mysql<br \/>\ninnodb_data_file_path = ibdata1:10M:autoextend<br \/>\ninnodb_log_group_home_dir = \/var\/lib\/mysql<br \/>\ninnodb_log_files_in_group = 2<br \/>\ninnodb_log_file_size = 512M<br \/>\ninnodb_page_size = Null<br \/>\ninnodb_checksum_algorithm = innodb<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nBackup Config Options:<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\ndatadir = \/var\/dbbackup\/backup-2017-04-21\/datadir<br \/>\ninnodb_data_home_dir = \/var\/dbbackup\/backup-2017-04-21\/datadir<br \/>\ninnodb_data_file_path = ibdata1:10M:autoextend<br \/>\ninnodb_log_group_home_dir = \/var\/dbbackup\/backup-2017-04-21\/datadir<br \/>\ninnodb_log_files_in_group = 2<br \/>\ninnodb_log_file_size = 536870912<br \/>\ninnodb_page_size = 16384<br \/>\ninnodb_checksum_algorithm = innodb<\/p>\n<p>mysqlbackup: INFO: Uses posix_fadvise() for performance optimization.<br \/>\nmysqlbackup: INFO: Creating 14 buffers each of size 16777216.<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copy-back operation starts with following threads<br \/>\n1 read-threads \u00a0 \u00a01 write-threads<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the log file &#8216;ib_logfile0&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the log file &#8216;ib_logfile1&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying \/var\/dbbackup\/backup-2017-04-21\/datadir\/ibdata1.<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying \/var\/dbbackup\/backup-2017-04-21\/datadir\/fmi\/Document.ibd.<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying \/var\/dbbackup\/backup-2017-04-21\/datadir\/fmiDocument\/DocumentContentTypes.ibd.<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying \/var\/dbbackup\/backup-2017-04-21\/datadir\/fmi\/adsdsy.ibd.<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying \/var\/dbbackup\/backup-2017-04-21\/datadir\/testasd\/test.ibd.<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the database directory &#8216;fmiDocument&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the database directory &#8216;mysql&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the database directory &#8216;performance_schema&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the database directory &#8216;test&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the database directory &#8216;test1&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the database directory &#8216;testDss&#8217;<br \/>\n170421 00:49:50 mysqlbackup: INFO: Completing the copy of all non-innodb files.<br \/>\n170421 00:49:50 mysqlbackup: INFO: Copying the log file &#8216;ib_logfile0&#8217;<br \/>\n170421 00:49:51 mysqlbackup: INFO: Copying the log file &#8216;ib_logfile1&#8217;<br \/>\n170421 00:49:53 mysqlbackup: INFO: Copy-back operation completed successfully.<br \/>\n170421 00:49:53 mysqlbackup: INFO: Finished copying backup files to &#8216;\/var\/lib\/mysql&#8217;<br \/>\nmysqlbackup completed OK!<br \/>\n[root@ ~]#<\/p>\n<\/div>\n<\/div>\n<p dir=\"ltr\" style=\"text-align: left;\">Now you would need to grant the permission to MySQL data folder and then start it.<\/p>\n<div class=\"codecolorer-container text vibrant\" dir=\"ltr\" style=\"overflow: auto; white-space: nowrap; border: 1px solid #9f9f9f; width: 435px; text-align: left;\">\n<div class=\"text codecolorer\" style=\"padding: 5px; font: normal 12px\/1.4em Monaco, Lucida Console, monospace; white-space: nowrap;\">170421 00:49:53 mysqlbackup: INFO: Finished copying backup files to &#8216;\/var\/lib\/mysql&#8217;<br \/>\nmysqlbackup completed OK!<br \/>\n[root@fina-peak-qa01 ~]# chown -R mysql.mysql \/var\/lib\/mysql<br \/>\n[root@fina-peak-qa01 ~]# chmod -R 770 \/var\/lib\/mysql<br \/>\n[root@fina-peak-qa01 ~]# service mysql start<br \/>\nStarting MySQL.. SUCCESS!<br \/>\n[root@fina-peak-qa01 ~]#<\/div>\n<\/div>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>############################# Pls note MEB IS NOT FREELY DOWNLOADABLE ###############################<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are maintaining a huge MySQL database server which having more than 3TB data. It\u2019s very had for us to backup, move and restore those databases from one host to another or once network to another due to size constrains. Moreover any of these activities would be involved lots of time and work precision during &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,36],"tags":[],"class_list":["post-3013","post","type-post","status-publish","format-standard","hentry","category-server","category-36"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/3013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=3013"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/3013\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=3013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=3013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=3013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}