{"id":2206,"date":"2015-06-02T07:10:54","date_gmt":"2015-06-02T07:10:54","guid":{"rendered":"http:\/\/kedar.nitty-witty.com\/?p=2206"},"modified":"2025-04-12T06:53:41","modified_gmt":"2025-04-12T06:53:41","slug":"setup-and-configure-mysql-backup-using-holland-and-xtrabackup","status":"publish","type":"post","link":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup","title":{"rendered":"Setup and configure MySQL backup using Holland and Xtrabackup"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Setting up a database backup is a primary task for database administrators and we see perl and shell scripts wrapped around few of the backup-tools in practice. With right tools things can look easy and today we shall look into one of that!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MySQL Database backup can be done with mysqldump, mysqlhotbackup, xtrabackup, lvm \/ file-system snapshots or doing delimited-text file backups.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this post we will learn setting up and configuring MySQL backup using Holland backup framework &amp; Xtrabackup. We won&#8217;t be needing any scripts \ud83d\ude42 <em>(let&#8217;s have short intro first&#8230;)<\/em><\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Holland Backup Framework:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Holland is an Open Source backup framework written in Python at Rackspace. It offers more reliability and flexibility when backing up MySQL databases. As Holland is plugin-based framework, it can conceivably backup almost anything you want by whatever means. (It does support Postgres.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Xtrabackup:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">XtraBackup is an open-source hot backup utility for MySQL, developed and maintained by Percona.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So let&#8217;s get started with setting-up MySQL backup with Holland Framework using Xtrabackup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up Holland:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Installing dependencies:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt-get install libmysqlclient-dev\napt-get install python-setuptools\napt-get install python-mysqldb\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; OR &#8211;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">yum install MySQL-python\nyum install python-setuptools\nyum install mysql-devel.x86_64\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Holland has ready-made packages available for Red-Hat, CentOS, and Ubuntu which are available via the <a href=\"http:\/\/download.opensuse.org\/repositories\/home:\/holland-backup\/\" target=\"_blank\" rel=\"nofollow noopener\">OpenSUSE build system<\/a>.&nbsp; We can get generic tarballs for others from <a href=\"http:\/\/hollandbackup.org\/releases\/stable\/1.0\/\" target=\"_blank\" rel=\"nofollow noopener\">here<\/a> or we can also get it from <a href=\"https:\/\/github.com\/holland-backup\/holland\/\" target=\"_blank\" rel=\"nofollow noopener\">Github<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this exercise we will get it from Git. (Follow the steps)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">1. mkdir holland\n2. wget https:\/\/github.com\/holland-backup\/holland\/archive\/master.zip\n3. unzip master.zip\n4. cd holland-master\n5. sudo mkdir -p \/etc\/holland  \/var\/log\/holland \/var\/spool\/holland\n6. sudo python .\/setup.py install\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Holland framework is now installed. You can check the version as:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">holland --version\n## We should see following output\n\tHolland Backup v1.0.11\n\tCopyright (c) 2008-2010 Rackspace US, Inc.\n\tMore info available at http:\/\/hollandbackup.org\n\n\t[[[[[[[]]]]]]] [[[[[[[]]]]]]]\n\t[[[[[[[]]]]]]]       [[[[[[[]]]]]]]\n\t[[[[[[[]]]]]]] [[[[[[[]]]]]]]\n\t[[[[[[[]]]]]]] [[[[[[[]]]]]]]\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Well so we have Holland framework installed, let&#8217;s move on to the plugins.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(Note that the <span style=\"text-decoration: underline;\">path in the setup steps are relative<\/span> make sure you follow one after another.)<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Installing plugins (Common, MySQL and Xtrabackup):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">1. cd plugins\/holland.lib.common\/\n2. sudo python setup.py install\n3. cd ..\/holland.lib.mysql\/\n4. sudo python setup.py install\n5. cd ..\/holland.backup.xtrabackup\/\n6. sudo python setup.py install\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Common and MySQL as essential plugins. As we&#8217;re using Xtrabackup as backup provider for Holland, we&#8217;ll install holland.backup.xtrabackup plugin. Other plugin includes LVM, mysqldump, pgdump (for postgres).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Setup configuration files for MySQL backup:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">1. cd ..\/..\/config\/backupsets\/examples\n2. sudo mkdir -p \/etc\/holland\/backupsets\n3. sudo cp xtrabackup.conf \/etc\/holland\/backupsets\n4. cd ..\/..\/providers\n5. sudo mkdir -p \/etc\/holland\/providers\/\n6. sudo cp xtrabackup.conf \/etc\/holland\/providers\/\n7. cd ..\/\n8. sudo cp holland.conf \/etc\/holland\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Backup user:<\/strong><br>We&#8217;ll create the specific MySQL database user for holland backup as follows:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mysql&gt; GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost' identified by 'xxxx';\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Holland Backup Configuration:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>holland.conf: Holland&#8217;s configuration file which resides under \/etc\/holland\/ by default.<\/li>\n\n\n\n<li>provier configuration: Confiruation for provider, here we have Xtrabackup.<\/li>\n\n\n\n<li>backupsets configuration: Configuration for MySQL backups.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sample configuration for holland:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@ubuntu:\/etc\/holland# cat holland.conf \n## Root holland config file\n[holland]\n\n## Paths where holland plugins may be found.\n## Can be comma separated\nplugin_dirs = \/usr\/share\/holland\/plugins\n\n## Top level directory where backups are held\nbackup_directory = \/var\/spool\/holland\n\n## List of enabled backup sets. Can be comma separated. \n## Read from \/backupsets\/.conf\n# backupsets = example, traditional, parallel_backups, non_transactional\nbackupsets = default \n\n# Define a umask for file generated by holland\numask = 0007\n\n# Define a path for holland and its spawned processes\npath = \/usr\/local\/bin:\/usr\/local\/sbin:\/bin:\/sbin:\/usr\/bin:\/usr\/sbin\n\n[logging]\n## where to write the log\nfilename = \/var\/log\/holland\/holland.log\n\n## debug, info, warning, error, critical (case insensitive)\nlevel = info\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sample configuration for backup-set:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@ubuntu:\/etc\/holland\/backupsets# cat xtrabackup.conf \n[holland:backup]\nplugin = xtrabackup\nbackups-to-keep = 1\nauto-purge-failures = yes\npurge-policy = after-backup\nestimated-size-factor = 1.0\n\n[xtrabackup]\ninnobackupex = innobackupex\nstream = yes\nslave-info = no\n\n[compression]\nmethod = gzip\ninline = yes\nlevel = 1\n\n[mysql:client]\ndefaults-extra-file = ~\/.my.cnf\n# user = \"\"\n# password = \"\"\n# host = \"\"\n# port = \"\"\n# socket = \"\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sample configuration for provider:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@ubuntu:\/etc\/holland\/providers# cat xtrabackup.conf \n[holland:backup]\nbackups-to-keep = 1\nestimated-size-factor = 1.0\nplugin = xtrabackup\n\n[xtrabackup]\ninnobackupex = innobackupex\nstream = yes\nslave-info = no\n\n[compression]\nmethod = gzip\ninline = yes\nlevel = 1\n\n[mysql:client]\ndefaults-extra-file = ~\/.my.cnf\nuser = \"bkpuser\"\npassword = \"xxxx\"\n#host = \"HOSTNAME\"\n#port = \"3306\"\n#socket = \"SOCKET\"\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we can do a dry run to verify our setup and configuration:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">holland -d backup --dry-run xtrabackup<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check output and correct if any errors. Most likely errors could be due to permissions, fix if any.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>MySQL backup command using Holland and Xtrabackup:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">holland -d backup xtrabackup\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(Above command is actually: holland -d backup [backup-set-name])<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The above holland backup command should generate log output similar to following:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">2015-06-01 01:20:01,977 [DEBUG] Adding plugin directory: u'\/usr\/share\/holland\/plugins'\n2015-06-01 01:20:01,980 [INFO] Holland 1.0.11 started with pid 865\n2015-06-01 01:20:01,999 [INFO] --- Starting backup run ---\n2015-06-01 01:20:02,002 [DEBUG] Set advisory lock on \/etc\/holland\/backupsets\/xtrabackup.conf\n2015-06-01 01:20:02,004 [INFO] Creating backup path \/backup\/xtrabackup\/20150601_012002\n2015-06-01 01:20:02,025 [INFO] * Generating mysql option file: \/backup\/xtrabackup\/20150601_012002\/my.cnf\n2015-06-01 01:20:02,025 [INFO]   + Added !include \/etc\/my.cnf\n2015-06-01 01:20:02,025 [INFO]   + Added !include \/home\/backup\/.my.cnf\n2015-06-01 01:20:02,025 [INFO]   + Added [client] section with credentials from [mysql:client] section\n2015-06-01 01:20:02,025 [DEBUG] Writing out config to \/backup\/xtrabackup\/20150601_012002\/backup.conf\n2015-06-01 01:20:02,066 [INFO] Estimated Backup Size: 1.29TB\n2015-06-01 01:20:02,066 [INFO] Adjusting estimated size by 0.40 to 526.35GB\n2015-06-01 01:20:02,066 [INFO] Starting backup[xtrabackup\/20150601_012002] via plugin xtrabackup\n2015-06-01 01:20:02,067 [DEBUG] * Executing: \/bin\/gzip -4\n2015-06-01 01:20:02,070 [INFO] Executing: \/usr\/bin\/innobackupex-1.5.1 --defaults-file=\/backup\/xtrabackup\/20150601_012002\/my.cnf --stream=tar --tmpdir=\/backup\/xtrabackup\/20150601_012002 --slave-info --no-timestamp --defaults-group=mysqld1 \/backup\/xtrabackup\/20150601_012002\n2015-06-01 01:20:02,071 [INFO]   &gt; \/backup\/xtrabackup\/20150601_012002\/backup.tar.gz 2 &gt; \/backup\/xtrabackup\/20150601_012002\/xtrabackup.log\n2015-06-01 08:45:58,084 [WARNING] Skipping --prepare\/--apply-logs since backup is streamed\n2015-06-01 08:45:58,086 [INFO] Final on-disk backup size 166.07GB\n2015-06-01 08:45:58,086 [INFO] 12.62% of estimated size 1.29TB\n2015-06-01 08:45:58,086 [DEBUG] Writing out config to \/backup\/xtrabackup\/20150601_012002\/backup.conf\n2015-06-01 08:45:58,087 [INFO] Backup completed in 7 hours, 25 minutes, 56.06 seconds\n2015-06-01 08:46:00,480 [INFO] Purged xtrabackup\/20150530_012001\n2015-06-01 08:46:00,481 [INFO] 1 backups purged\n2015-06-01 08:46:00,485 [INFO] Released lock \/etc\/holland\/backupsets\/xtrabackup.conf\n2015-06-01 08:46:00,485 [INFO] --- Ending backup run ---\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Okay, so finally our MySQL backup is all set. We may cron above holland-backup command to have daily or weekly MySQL database backup as per choice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Notes on configuration items:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most common backup configuration options are included in the conf files, I&#8217;d still cover few of the options here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>backupsets\/xtrabackup.conf<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&nbsp;backups-to-keep &#8211; This option of holland backup-sets configuration is our retention period. It will keep the backups for this many days and purge the older ones.<\/li>\n\n\n\n<li>before-backup-command \/ after-backup-command : This are the commands executed before and after the backup execution. Typical usecase could be doing some cleanup jobs before starting backup, uploading backup to a different location (say S3 or shared network device!)<\/li>\n\n\n\n<li>failed-backup-command &#8211; This is newly introduced variable which holds the command to execute upon backup failure. A very generic case could be a send-email script to alert us!<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>provider\/xtrabackup.conf<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pre-command &#8211; Executed before the xtrabackup command. You might want to have, say mysqldump of data-definitions!<\/li>\n\n\n\n<li>slave-info &#8211; This enables the \u2013slave-info innobackupex option.<\/li>\n\n\n\n<li>method &#8211; gzip is the default compression method for xtrabackup. We may choose pigz or other.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hope this helps. Do comment if you face any issues setting things up or need clarity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Happy Backup, MySQLer!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PS: I&#8217;d thank my friend Andy Moore for his tutorial for Holland backup ages ago. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No longer maintained: http:\/\/blog.mysqlboy.com\/2013\/05\/holland-backup-manager.html<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reference: http:\/\/docs.hollandbackup.org<\/p>\n","protected":false},"excerpt":{"rendered":"Setting up a database backup is a primary task for database administrators and we see perl and shell scripts wrapped around few of the backup-tools in practice. With right tools&hellip;\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","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":[8,377],"tags":[484,581,580,475,579,369],"class_list":["post-2206","post","type-post","status-publish","format-standard","category-mysql","category-mysql-articles","tag-backup-configuration","tag-backups","tag-holland-backup-framework","tag-mysql-backup","tag-setup-mysql-backup","tag-xtrabackup"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Kedar\"\/>\n\t<meta name=\"google-site-verification\" content=\"_Bu1h5r0PxIC0D2jBVdmYN45RTeG9ogcX85XLkbG1qA\" \/>\n\t<meta name=\"msvalidate.01\" content=\"116B62074CBCA1BA99B8CCE09CCF2FB8\" \/>\n\t<meta name=\"keywords\" content=\"mysql,backup,xtrabackup,holland,holland backup framework,mysql backup,,backup configuration,backups,setup mysql backup\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Change Is Inevitable | Kedar Vaijanapurkar&#039;s Blog for MySQL, technology and various subjects\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable\" \/>\n\t\t<meta property=\"og:description\" content=\"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-06-02T07:10:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-04-12T06:53:41+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#article\",\"name\":\"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable\",\"headline\":\"Setup and configure MySQL backup using Holland and Xtrabackup\",\"author\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kedar\"},\"datePublished\":\"2015-06-02T07:10:54+00:00\",\"dateModified\":\"2025-04-12T06:53:41+00:00\",\"inLanguage\":\"en-US\",\"commentCount\":4,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#webpage\"},\"articleSection\":\"MySQL, MySQL-Articles, backup configuration, Backups, Holland Backup Framework, mysql backup, Setup MySQL Backup, xtrabackup\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql#listItem\",\"name\":\"MySQL\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql#listItem\",\"position\":2,\"name\":\"MySQL\",\"item\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles#listItem\",\"name\":\"MySQL-Articles\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles#listItem\",\"position\":3,\"name\":\"MySQL-Articles\",\"item\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#listItem\",\"name\":\"Setup and configure MySQL backup using Holland and Xtrabackup\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql#listItem\",\"name\":\"MySQL\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#listItem\",\"position\":4,\"name\":\"Setup and configure MySQL backup using Holland and Xtrabackup\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles#listItem\",\"name\":\"MySQL-Articles\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#person\",\"name\":\"Kedar\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kedar\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\",\"url\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin\",\"name\":\"Kedar\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kedar\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#webpage\",\"url\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup\",\"name\":\"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable\",\"description\":\"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\"},\"datePublished\":\"2015-06-02T07:10:54+00:00\",\"dateModified\":\"2025-04-12T06:53:41+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/\",\"name\":\"..::CHANGE is INEVITABLE::..\",\"description\":\"Kedar Vaijanapurkar's Blog for MySQL, technology and various subjects\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable","description":"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.","canonical_url":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup","robots":"max-image-preview:large","keywords":"mysql,backup,xtrabackup,holland,holland backup framework,mysql backup,,backup configuration,backups,setup mysql backup","webmasterTools":{"google-site-verification":"_Bu1h5r0PxIC0D2jBVdmYN45RTeG9ogcX85XLkbG1qA","msvalidate.01":"116B62074CBCA1BA99B8CCE09CCF2FB8","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#article","name":"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable","headline":"Setup and configure MySQL backup using Holland and Xtrabackup","author":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author"},"publisher":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kedar"},"datePublished":"2015-06-02T07:10:54+00:00","dateModified":"2025-04-12T06:53:41+00:00","inLanguage":"en-US","commentCount":4,"mainEntityOfPage":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#webpage"},"isPartOf":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#webpage"},"articleSection":"MySQL, MySQL-Articles, backup configuration, Backups, Holland Backup Framework, mysql backup, Setup MySQL Backup, xtrabackup"},{"@type":"BreadcrumbList","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/kedar.nitty-witty.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql#listItem","name":"MySQL"}},{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql#listItem","position":2,"name":"MySQL","item":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql","nextItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles#listItem","name":"MySQL-Articles"},"previousItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles#listItem","position":3,"name":"MySQL-Articles","item":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles","nextItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#listItem","name":"Setup and configure MySQL backup using Holland and Xtrabackup"},"previousItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql#listItem","name":"MySQL"}},{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#listItem","position":4,"name":"Setup and configure MySQL backup using Holland and Xtrabackup","previousItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles#listItem","name":"MySQL-Articles"}}]},{"@type":"Person","@id":"https:\/\/kedar.nitty-witty.com\/blog\/#person","name":"Kedar","image":{"@type":"ImageObject","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kedar"}},{"@type":"Person","@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author","url":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin","name":"Kedar","image":{"@type":"ImageObject","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kedar"}},{"@type":"WebPage","@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#webpage","url":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup","name":"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable","description":"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup#breadcrumblist"},"author":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author"},"creator":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author"},"datePublished":"2015-06-02T07:10:54+00:00","dateModified":"2025-04-12T06:53:41+00:00"},{"@type":"WebSite","@id":"https:\/\/kedar.nitty-witty.com\/blog\/#website","url":"https:\/\/kedar.nitty-witty.com\/blog\/","name":"..::CHANGE is INEVITABLE::..","description":"Kedar Vaijanapurkar's Blog for MySQL, technology and various subjects","inLanguage":"en-US","publisher":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"Change Is Inevitable | Kedar Vaijanapurkar's Blog for MySQL, technology and various subjects","og:type":"article","og:title":"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable","og:description":"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.","og:url":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup","article:published_time":"2015-06-02T07:10:54+00:00","article:modified_time":"2025-04-12T06:53:41+00:00","twitter:card":"summary","twitter:title":"Setup and configure MySQL backup using Holland and Xtrabackup | Change Is Inevitable","twitter:description":"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup."},"aioseo_meta_data":{"post_id":"2206","title":"Setup and configure MySQL backup using Holland and Xtrabackup | #site_title","description":"Steps for setting-up and configuring MySQL backup using Holland and Xtrabackup.","keywords":[{"label":"MySQL","value":"MySQL"},{"label":"Backup","value":"Backup"},{"label":"xtrabackup","value":"xtrabackup"},{"label":"holland","value":"holland"},{"label":"holland backup framework","value":"holland backup framework"},{"label":"mysql backup","value":"mysql backup"},{"label":"","value":""}],"keyphrases":{"focus":{"keyphrase":"MySQL Backup","score":80,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInSubHeadings":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":[],"keywordDensity":{"type":"best","score":9,"maxScore":9,"error":0}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-24 17:40:44","updated":"2025-08-16 19:14:53","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/kedar.nitty-witty.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\" title=\"MySQL\">MySQL<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles\" title=\"MySQL-Articles\">MySQL-Articles<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSetup and configure MySQL backup using Holland and Xtrabackup\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/kedar.nitty-witty.com\/blog"},{"label":"MySQL","link":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql"},{"label":"MySQL-Articles","link":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles"},{"label":"Setup and configure MySQL backup using Holland and Xtrabackup","link":"https:\/\/kedar.nitty-witty.com\/blog\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2206","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=2206"}],"version-history":[{"count":9,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions"}],"predecessor-version":[{"id":3441,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions\/3441"}],"wp:attachment":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/media?parent=2206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/categories?post=2206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/tags?post=2206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}