
{"id":4052,"date":"2020-12-10T10:03:22","date_gmt":"2020-12-10T09:03:22","guid":{"rendered":"http:\/\/dasini.net\/blog\/?p=4052"},"modified":"2020-12-10T11:31:24","modified_gmt":"2020-12-10T10:31:24","slug":"create-a-cloud-backup-with-mysql-enterprise-backup","status":"publish","type":"post","link":"https:\/\/dasini.net\/blog\/2020\/12\/10\/create-a-cloud-backup-with-mysql-enterprise-backup\/","title":{"rendered":"Create a Cloud Backup with MySQL Enterprise Backup"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/cloud_from_above_by_Olivier_Dasini_1632x918.JPG\" alt=\"Cloud from above by Olivier DASINI\"\/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.mysql.com\/products\/enterprise\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Enterprise Edition\"><strong>MySQL Enterprise Edition<\/strong><\/a> customers have access to <a href=\"https:\/\/www.mysql.com\/products\/enterprise\/backup.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Enterprise Backup.\"><strong>MySQL Enterprise Backup<\/strong><\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>MySQL Enterprise Backup provides enterprise-grade backup and recovery for MySQL. It delivers hot, online, non-blocking backups on multiple platforms including Linux, Windows, Mac &amp; Solaris.<\/em><\/p><cite><a href=\"https:\/\/www.mysql.com\/products\/enterprise\/backup.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Enterprise Backup\">https:\/\/www.mysql.com\/products\/enterprise\/backup.html<\/a><\/cite><\/blockquote>\n\n\n\n\n\n<p><strong>Cloud backup<\/strong> is a strategy increasingly used in organizations. Send copies of your data to the cloud, can help you to prevent a devastating IT crisis and ensure business continuity.<\/p>\n\n\n\n\n\n<p>Currently, MySQL Enterprise Backup supports the following types of cloud storage services:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.oracle.com\/cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"OCI\"><strong>Oracle Cloud Infrastructure<\/strong><\/a> (<strong>OCI<\/strong>) Object Storage<\/li><li><a href=\"https:\/\/docs.openstack.org\/swift\/pike\/admin\/objectstorage-intro.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"OpenStack Swift\"><strong>OpenStack Swift<\/strong><\/a> or compatible object storage services<\/li><li><a href=\"https:\/\/aws.amazon.com\/s3\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"S3\"><strong>Amazon Simple Storage Service<\/strong><\/a> (<strong>S3<\/strong>) or compatible storage service<\/li><\/ul>\n\n\n\n<p>In this blog post I will use the<strong> <a href=\"https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Concepts\/objectstorageoverview.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"OCI object storage\">OCI object storage<\/a><\/strong>, for obvious reasons \ud83d\ude42 and also because it&rsquo;s probably the best <a href=\"https:\/\/www.oracle.com\/cloud\/storage\/object-storage.html\" target=\"_blank\" rel=\"noreferrer noopener\">feature<\/a>\/<a href=\"https:\/\/www.oracle.com\/cloud\/storage\/pricing.html\" target=\"_blank\" rel=\"noreferrer noopener\">price<\/a> ratio choice.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Create a pre-authenticated request for a bucket<\/h2>\n\n\n\n<p>First we must create an OCI <strong><a href=\"https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Tasks\/usingpreauthenticatedrequests.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Using Pre-Authenticated Requests\">Pre-Authenticated Request<\/a><\/strong> (PAR) for a bucket.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Pre-authenticated requests provide a way to let users access a bucket or an object without having their own credentials, as long as the request creator has permissions to access those objects.<\/p><cite><a href=\"https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Tasks\/usingpreauthenticatedrequests.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Pre-authenticated requests\">https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Tasks\/usingpreauthenticatedrequests.htm<\/a><\/cite><\/blockquote>\n\n\n\n\n\n<p>You can create, delete, or list pre-authenticated requests using the Console, using the CLI, or by using an SDK to access the API.<br>Click <a href=\"https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Tasks\/usingpreauthenticatedrequests.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Using Pre-Authenticated Requests\">here<\/a> to see how to create a PAR.<\/p>\n\n\n\n\n\n<p>If you use the console, you&rsquo;ll have something like:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/Create_a_Cloud_Backup-01-create_PAR.png\" alt=\"OCI Pre-Authenticated Requests by Olivier DASINI\"\/><\/figure>\n\n\n\n<p>My Oracle Cloud Infrastructure Pre-Authenticated Request name is : <em>MEB-par-bucket-20201203-1612<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/Create_a_Cloud_Backup-02-PAR_details.png\" alt=\"OCI Pre-Authenticated Requests by Olivier DASINI\"\/><\/figure>\n\n\n\n<p>An URL is generated. It is very important to <strong>save<\/strong> it!<br>We&rsquo;ll use it with MySQL Enterprise Backup.<\/p>\n\n\n\n\n\n<p>I can also see my list of PARs in the console:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/Create_a_Cloud_Backup-03-PARs.png\" alt=\"OCI Pre-Authenticated Requests by Olivier DASINI\"\/><\/figure>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Create a Cloud Backup on Oracle Cloud Infrastructure Object Storage<\/h2>\n\n\n\n<p>I&rsquo;m using <strong>MySQL Enterprise Backup 8.0.22<\/strong>.  <br>The extra options to backup your data into OCI Object Storage are:<\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">cloud-service<\/span><\/strong> : Cloud service for data backup or restoration. <br>Currently, there are 3 types of cloud storage services supported by mysqlbackup, represented by the following values for the option:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><span class=\"has-inline-color has-vivid-red-color\">OCI<\/span><\/strong>: Oracle Cloud Infrastructure Object Storage<\/li><li><strong><span class=\"has-inline-color has-vivid-red-color\">openstack<\/span><\/strong>: OpenStack Swift or compatible object storage services<\/li><li><strong><span class=\"has-inline-color has-vivid-red-color\">S3<\/span><\/strong>: Amazon Simple Storage Service (S3) or compatible storage service.<\/li><\/ul>\n\n\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">cloud-object<\/span><\/strong> : The storage object for the backup image. <br>Note that names of objects within the same bucket have to be unique.<\/p>\n\n\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">cloud-par-url<\/span><\/strong> : The Pre-Authenticated Request (PAR) URL for OCI Object Storage. <br>For a backup to OCI Object Storage, it is the PAR URL for the storage bucket; for restore and other operations on an object stored on OCI, it is the PAR URL for the object.<\/p>\n\n\n\n\n\n<p><a href=\"https:\/\/dev.mysql.com\/doc\/mysql-enterprise-backup\/8.0\/en\/backup-cloud-options.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Cloud Storage Options\">Click here<\/a> to find the complete list of cloud storage options (<strong>OCI<\/strong>, <strong>Amazon S3<\/strong> &amp; <strong>OpenStack Swift<\/strong> options).<\/p>\n\n\n\n\n\n<p>In this article the values of these options are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em>cloud-service<\/em>=OCI<\/li><li><em>cloud-par-url<\/em>=https:\/\/objectstorage.us-ashburn-1.oraclecloud.com\/p\/JL7k0DnNE8DTV&lt;\u2026snip\u2026&gt;_bucket-20200908-1001\/o\/<\/li><li><em>cloud-object<\/em>=myBck_20201203-1600.mbi<\/li><\/ul>\n\n\n\n\n\n<p>I assume your already know what to do <a href=\"https:\/\/dev.mysql.com\/doc\/mysql-enterprise-backup\/8.0\/en\/backup-prep.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Before the First Backup\">before the first backup<\/a>. <\/p>\n\n\n\n<p>Let&rsquo;s create the backup then:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ mysqlbackup --defaults-file=\/etc\/mysql\/my.cnf --backup-dir=\/meb-tmp --with-timestamp --backup-image=- --cloud-service=OCI --cloud-par-url=https:\/\/objectstorage.us-ashburn-1.oraclecloud.com\/p\/JL7k0DnNE8DTV&lt;...snip...&gt;_bucket-20200908-1001\/o\/ --cloud-object=myBck_20201203-1600.mbi backup-to-image\n\nMySQL Enterprise Backup  Ver 8.0.22-commercial for Linux on x86_64 (MySQL Enterprise - Commercial)\nCopyright (c) 2003, 2020, Oracle and\/or its affiliates. All rights reserved.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nStarting with following command line ...\n\n&lt;... snip ...&gt;\n\n-------------------------------------------------------------\n   Parameters Summary         \n-------------------------------------------------------------\n   Start LSN                  : 27229330944\n   End LSN                    : 27229334048\n-------------------------------------------------------------\n201203 16:51:48 MAIN     INFO: Cloud operation completed.\n\nmysqlbackup completed OK!<\/code><\/pre>\n\n\n\n<p>Don&rsquo;t forget the value \u00ab\u00a0<strong>&#8211;<\/strong>\u00a0\u00bb (dash) for <em>backup-image<\/em> parameter:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">--backup-image=-<\/pre>\n\n\n\n\n\n<p>The backup is now completed and stored on the Oracle Cloud Infrastructure object storage bucket.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/Create_a_Cloud_Backup-12-list_objects.png\" alt=\"OCI Pre-Authenticated Requests by Olivier DASINI\"\/><\/figure>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Restore a Backup from Oracle Cloud Infrastructure <\/h2>\n\n\n\n<p>Again, a Pre-Authenticated Request (PAR) URL for OCI Object Storage will be used. <br>This time we will use a PAR on an object with Read PAR privileges created before the restoration.<\/p>\n\n\n\n\n\n<p>Using the console, after selecting my Bucket, I <a href=\"https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Tasks\/usingpreauthenticatedrequests.htm#consolePAR\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"To create a pre-authenticated request for an object\">create a pre-authenticated request for an object<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/Create_a_Cloud_Backup-10-PAR-create_object.png\" alt=\"OCI Pre-Authenticated Requests by Olivier DASINI\"\/><\/figure>\n\n\n\n<p>The PAR target is <strong><em>Object<\/em><\/strong><br>My object name is <em>myBck_20201203-1600.mbi<\/em><br>An read only access type is sufficient : <span style=\"text-decoration: underline;\">Access Type<\/span>: <em>Permit reads on the object <\/em> <\/p>\n\n\n\n<p>Et voil\u00e0!<br>My PAR is created<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/Create_a_Cloud_Backup-11-PAR_details.png\" alt=\"OCI Pre-Authenticated Requests by Olivier DASINI\"\/><\/figure>\n\n\n\n<p>An URL is generated. It is very important to <strong>save<\/strong> it!<br>We&rsquo;ll use it with MySQL Enterprise Backup.<\/p>\n\n\n\n\n\n<p>Now we have all that is needed to restore with MySQL Enterprise Backup.<\/p>\n\n\n\n<p>I assuming you already now how to <a href=\"https:\/\/dev.mysql.com\/doc\/mysql-enterprise-backup\/8.0\/en\/mysqlbackup.restore.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Restore a MySQL instance from a backup to a database server\">restore a MySQL instance with MEB<\/a>.<\/p>\n\n\n\n<p>Thus in our context, to restore a single-file backup from an OCI Object Storage to a MySQL Server, we will use:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ mysqlbackup --defaults-file=\/etc\/mysql\/my.cnf --backup-image=- --with-timestamp --backup-dir=\/meb-tmp --cloud-service=OCI --cloud-par-url=https:\/\/objectstorage.us-ashburn-1.oraclecloud.com\/p\/FvbPbq7oJAGP&lt;...snip...&gt;_bucket-20200908-1001\/o\/myBck_20201203-1600.mbi  copy-back-and-apply-log\n\n\nMySQL Enterprise Backup  Ver 8.0.22-commercial for Linux on x86_64 (MySQL Enterprise - Commercial)\nCopyright (c) 2003, 2020, Oracle and\/or its affiliates. All rights reserved.\n&lt;...snip...&gt;\n201208 12:11:27 MAIN     INFO: Apply-log operation completed successfully.\n201208 12:11:27 MAIN     INFO: Full Backup has been restored successfully.\n201208 12:11:27 MAIN     INFO: Cloud operation completed.\n\nmysqlbackup completed OK! with 4 warnings<\/code><\/pre>\n\n\n\n<p>The restore is now completed.<\/p>\n\n\n\n\n\n<p>As a side note, if you want to see the 4 warnings, take a look at the MEB logfile, located in the <em>&#8211;backup-dir<\/em>, meb-tmp in this article:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ grep WARNING \/meb-tmp\/2020-12-08_11-59-58\/meta\/MEB_2020-12-08.11-59-58.log\n\n201208 11:59:58 MAIN  WARNING: If you restore to a server of a different version, the innodb_data_file_path parameter might have a different default. In that case you need to add 'innodb_data_file_path=ibdata1:12M:autoextend' to the target server configuration.\n201208 11:59:58 MAIN  WARNING: If you restore to a server of a different version, the innodb_log_files_in_group parameter might have a different default. In that case you need to add 'innodb_log_files_in_group=2' to the target server configuration.\n201208 11:59:58 MAIN  WARNING: If you restore to a server of a different version, the innodb_log_file_size parameter might have a different default. In that case you need to add 'innodb_log_file_size=50331648' to the target server configuration.\n201208 12:11:27 MAIN  WARNING: External plugins list found in meta\/backup_content.xml. Please ensure that all plugins are installed in restored server.<\/code><\/pre>\n\n\n\n<p>Nothing really serious in this context.<br>If you need more information, please <a href=\"https:\/\/dev.mysql.com\/doc\/mysql-enterprise-backup\/8.0\/en\/mysqlbackup.restore.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Restoring a Database\">click here<\/a>.<\/p>\n\n\n\n\n\n<p>The rest of the story is classic, restart your MySQL instance and you good to go \ud83d\ude42<\/p>\n\n\n\n\n\n<p>One more thing to know and to keep in mind, is that a cloud backup always uses one write thread. <br>In clear backup &amp; restore duration could be much longer than for a local operation.<\/p>\n\n\n\n<p>However, it is a good practice, when possible, to keep a local copy of the backup file.<\/p>\n\n\n\n<p>It is usually easier and much faster to recover from a local location.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">MySQL Enterprise Edition<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.mysql.com\/products\/enterprise\/\" target=\"_blank\" rel=\"noreferrer noopener\">MySQL Enterprise Edition<\/a> includes the most comprehensive set of advanced features, management tools and technical support to achieve the highest levels of MySQL scalability, security, reliability, and uptime.<\/p>\n\n\n\n<p>It reduces the risk, cost, and complexity in developing, deploying, and managing business-critical MySQL applications.<\/p>\n\n\n\n<p><a href=\"https:\/\/edelivery.oracle.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">MySQL Enterprise Edition server&nbsp;Trial Download<\/a>&nbsp;(Note &#8211; Select Product Pack: MySQL Database).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/MySQL_Enterprise_Edition_600x313.png\" alt=\"MySQL Enterprise Edition\"\/><\/figure>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.mysql.com\/products\/enterprise\/backup.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Enterprise Backup\">MySQL Enterprise Backup<\/a><\/li><li><a href=\"https:\/\/dev.mysql.com\/doc\/mysql-enterprise-backup\/8.0\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Enterprise Backup User's Guide (Version 8.0.22)\">MySQL Enterprise Backup User&rsquo;s Guide (Version 8.0.22)<\/a><\/li><li><a href=\"https:\/\/dev.mysql.com\/doc\/mysql-enterprise-backup\/8.0\/en\/meb-backup-cloud.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Backing Up to Cloud Storage\">Backing Up to Cloud Storage<\/a><\/li><li><a href=\"https:\/\/dev.mysql.com\/doc\/mysql-enterprise-backup\/8.0\/en\/restore-cloud.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Restoring a Backup from Cloud Storage to a MySQL Server\">Restoring a Backup from Cloud Storage to a MySQL Server<\/a><\/li><li><a href=\"https:\/\/www.mysql.com\/products\/enterprise\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Enterprise Edition\">MySQL Enterprise Edition<\/a><\/li><li><a href=\"https:\/\/www.oracle.com\/cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle Cloud Infrastructure (OCI)\">Oracle Cloud Infrastructure (OCI)<\/a><\/li><li><a href=\"https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Concepts\/objectstorageoverview.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Overview of Object Storage\">Overview of Object Storage<\/a><\/li><li><a href=\"https:\/\/docs.cloud.oracle.com\/en-us\/iaas\/Content\/Object\/Tasks\/usingpreauthenticatedrequests.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Using Pre-Authenticated Requests\">Using Pre-Authenticated Requests<\/a><\/li><\/ul>\n\n\n\n\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/groups\/12524512\/\" target=\"_blank\" rel=\"noopener\" title=\"Olivier DASINI on Linkedin\">Follow me on Linkedin<\/a><\/p>\n\n\n\n<p>Watch my videos on my <a href=\"https:\/\/www.youtube.com\/channel\/UC12TulyJsJZHoCmby3Nm3WQ\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Olivier's MySQL Channel\">YouTube channel<\/a> and <a href=\"https:\/\/www.youtube.com\/channel\/UC12TulyJsJZHoCmby3Nm3WQ\/?sub_confirmation=1\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Subscribe\">subscribe<\/a>.<\/p>\n\n\n\n<p>My <a href=\"https:\/\/www.slideshare.net\/freshdaz\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Olivier DASINI on Slideshare\">Slideshare account<\/a>.<\/p>\n\n\n\n<p>My <a href=\"https:\/\/speakerdeck.com\/freshdaz\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Olivier DASINI on Speaker Deck\">Speaker Deck account<\/a>.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-vivid-red-color has-text-color\"><strong>Thanks for using HeatWave &amp; MySQL!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cloud backup is a strategy increasingly used in organizations. Send copies of your data to the cloud, can help you to prevent a devastating IT crisis and ensure business continuity.<\/p>\n<p>Currently, MySQL Enterprise Backup supports the following types of cloud storage services:<\/p>\n<p> &#8211; Oracle Cloud Infrastructure (OCI) Object Storage <\/p>\n<p> &#8211; OpenStack Swift or compatible object storage services <\/p>\n<p> &#8211; Amazon Simple Storage Service (S3) or compatible storage service<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"categories":[1645,1638,203],"tags":[1640,1646],"class_list":["post-4052","post","type-post","status-publish","format-standard","hentry","category-backup-restore","category-cloud","category-mysql-en","tag-oci","tag-s3"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9LfWW-13m","jetpack-related-posts":[{"id":4872,"url":"https:\/\/dasini.net\/blog\/2021\/08\/31\/discovering-mysql-database-service-episode-5-create-a-mysql-db-system-from-a-mysql-shell-dump\/","url_meta":{"origin":4052,"position":0},"title":"Discovering MySQL Database Service &#8211; Episode 5 &#8211; Create a MySQL DB system from a MySQL Shell dump","author":"Olivier DASINI","date":"31 ao\u00fbt 2021","format":false,"excerpt":"MySQL, the world\u2019s most popular open source database, is available as a managed cloud service in Oracle Cloud Infrastructure (OCI) under the name of MySQL Database Service (MDS). This is the fifth episode of \u201cDiscovering MySQL Database Service\u201c, a series of tutorials where I will show you, step by step,\u2026","rel":"","context":"Dans &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/dasini.net\/blog\/category\/cloud\/"},"img":{"alt_text":"MySQL Database Service","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4188,"url":"https:\/\/dasini.net\/blog\/2021\/01\/26\/replicate-from-mysql-5-7-to-mysql-database-service\/","url_meta":{"origin":4052,"position":1},"title":"Replicate from MySQL 5.7 to MySQL Database Service","author":"Olivier DASINI","date":"26 janvier 2021","format":false,"excerpt":"MySQL Replication is a very common topology, widely used in various architecture. People use it, among others, for High Availability, Read Scalability or Geographic Redundancy. Another use case is to use MySQL Replication to seamlessly integrate a newer version of the server in your architecture. Let\u2019s say you are running\u2026","rel":"","context":"Dans &quot;MySQL&quot;","block_context":{"text":"MySQL","link":"https:\/\/dasini.net\/blog\/category\/mysql-en\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4662,"url":"https:\/\/dasini.net\/blog\/2021\/08\/03\/discovering-mysql-database-service-episode-1-introduction\/","url_meta":{"origin":4052,"position":2},"title":"Discovering MySQL Database Service &#8211; Episode 1 &#8211; Introduction","author":"Olivier DASINI","date":"3 ao\u00fbt 2021","format":false,"excerpt":"This is the first episode of \u201cDiscovering MySQL Database Service\u201c, a series of tutorials where I will show you, step by step, how to use MySQL Database Service and some other Oracle Cloud Infrastructure services. Like any series, in this episode I\u2019m going to give you some context and set\u2026","rel":"","context":"Dans &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/dasini.net\/blog\/category\/cloud\/"},"img":{"alt_text":"MySQL Database Service","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4774,"url":"https:\/\/dasini.net\/blog\/2021\/08\/24\/discovering-mysql-database-service-episode-4-dump-your-mysql-data-into-an-object-storage-bucket\/","url_meta":{"origin":4052,"position":3},"title":"Discovering MySQL Database Service &#8211; Episode 4 &#8211; Dump your MySQL data into an Object Storage bucket","author":"Olivier DASINI","date":"24 ao\u00fbt 2021","format":false,"excerpt":"This is the fourth episode of \u201cDiscovering MySQL Database Service\u201c, a series of tutorials where I will show you, step by step, how to use MySQL Database Service and some other Oracle Cloud Infrastructure services. In the previous episode we\u2019ve created our Virtual Cloud Network, that provides you with complete\u2026","rel":"","context":"Dans &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/dasini.net\/blog\/category\/cloud\/"},"img":{"alt_text":"MySQL Database Service","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5105,"url":"https:\/\/dasini.net\/blog\/2021\/09\/28\/discovering-mysql-database-service-episode-9-connect-to-mysql-database-service-using-mysql-workbench\/","url_meta":{"origin":4052,"position":4},"title":"Discovering MySQL Database Service \u2013 Episode 9 \u2013 Connect to MySQL Database Service Using MySQL Workbench","author":"Olivier DASINI","date":"28 septembre 2021","format":false,"excerpt":"MySQL, the world\u2019s most popular open source database, is available as a managed cloud service in Oracle Cloud Infrastructure (OCI) under the name of MySQL Database Service (MDS). This is the ninth episode of \u201cDiscovering MySQL Database Service\u201c, a series of tutorials where I will show you, step by step,\u2026","rel":"","context":"Dans &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/dasini.net\/blog\/category\/cloud\/"},"img":{"alt_text":"MySQL Database Service","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3219,"url":"https:\/\/dasini.net\/blog\/2019\/07\/11\/mysql-innodb-cluster-recovering-and-provisioning-with-mysql-enterprise-backup\/","url_meta":{"origin":4052,"position":5},"title":"MySQL InnoDB Cluster &#8211; Recovering and provisioning with MySQL Enterprise Backup","author":"Olivier DASINI","date":"11 juillet 2019","format":false,"excerpt":"Like I stated in my previous article - MySQL InnoDB Cluster - Recovering and provisioning with mysqldump : \"As the administrator of a cluster, among others tasks, you should be able to restore failed nodes and to add (or remove) new nodes\". Well, I still agree with myself :) MySQL\u2026","rel":"","context":"Dans &quot;Group Replication&quot;","block_context":{"text":"Group Replication","link":"https:\/\/dasini.net\/blog\/category\/group-replication-en\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts\/4052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/comments?post=4052"}],"version-history":[{"count":56,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts\/4052\/revisions"}],"predecessor-version":[{"id":4286,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts\/4052\/revisions\/4286"}],"wp:attachment":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/media?parent=4052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/categories?post=4052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/tags?post=4052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}