File "backup-restore-mysql.html"
Full path: /var/www/html/dashboard/docs/backup-restore-mysql.html
File size: 13.96 KiB (14297 bytes)
MIME-type: text/html
Charset: utf-8
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine or request Chrome Frame -->
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Use title if it's in the page YAML frontmatter -->
<title>Backup and Restore MySQL/MariaDB Databases</title>
<link href="/dashboard/stylesheets/normalize.css" rel="stylesheet" type="text/css" /><link href="/dashboard/stylesheets/all.css" rel="stylesheet" type="text/css" />
<link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/3.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<script src="/dashboard/javascripts/modernizr.js" type="text/javascript"></script>
<link href="/dashboard/images/favicon.png" rel="icon" type="image/png" />
</head>
<body class="docs docs_backup-restore-mysql">
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=277385395761685";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="contain-to-grid">
<nav class="top-bar" data-topbar>
<ul class="title-area">
<li class="name">
<h1><a href="/dashboard/index.html">Apache Friends</a></h1>
</li>
<li class="toggle-topbar menu-icon">
<a href="#">
<span>Menu</span>
</a>
</li>
</ul>
<section class="top-bar-section">
<!-- Right Nav Section -->
<ul class="right">
<li class=""><a href="/applications.html">Applications</a></li>
<li class=""><a href="/dashboard/faq.html">FAQs</a></li>
<li class="active"><a href="/dashboard/howto.html">HOW-TO Guides</a></li>
<li class=""><a target="_blank" href="/dashboard/phpinfo.php">PHPInfo</a></li>
<li class=""><a href="/phpmyadmin/">phpMyAdmin</a></li>
</ul>
</section>
</nav>
</div>
<div id="wrapper">
<div class="hero">
<div class="row">
<div class="large-12 columns">
<h1>Documentation</h1>
</div>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<ul class="sub-nav">
<li>
<a class="pdf" target="_blank" href="/dashboard/docs/backup-restore-mysql.pdf"> Download PDF
<span>backup-restore-mysql.pdf</span>
</a> </li>
</ul>
<article class="asciidoctor">
<aside>
<h3>Contents</h3>
<ol class="sections">
<li><a href="/dashboard/docs/backup-restore-mysql.html#using_phpmyadmin">Using phpMyAdmin</a></li>
<li><a href="/dashboard/docs/backup-restore-mysql.html#using_command_line_tools">Using Command-Line Tools</a></li>
</ol>
</aside>
<h1>Backup and Restore MySQL/MariaDB Databases</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>As you use XAMPP, you might find that you need to backup or restore a MySQL or MariaDB database. There are two easy ways to do this with XAMPP: using the browser-based phpMyAdmin tool or using MySQL/MariaDB’s command-line tools. This guide describes both options.</p>
</div>
<div class="paragraph">
<p>This guide assumes that you already have a PHP application that uses a MySQL/MariaDB database deployed on XAMPP. The example application used in this guide is WordPress, although the steps outlined below will work for any application.</p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
Remember that you can install WordPress quickly using the <a href="https://bitnami.com/stack/xampp#wordpress">Bitnami WordPress module for XAMPP</a>.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_using_phpmyadmin">Using phpMyAdmin</h2>
<div class="sectionbody">
<div class="paragraph">
<p>XAMPP includes <a href="http://www.phpmyadmin.net/">phpMyAdmin</a>, an open-source, browser-based tool for managing MySQL/MariaDB database servers. To backup a MySQL/MariaDB database using phpMyAdmin, follow these steps:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Browse to <a href="http://localhost/phpMyAdmin" class="bare">http://localhost/phpMyAdmin</a> or <a href="http://127.0.0.1/phpMyAdmin" class="bare">http://127.0.0.1/phpMyAdmin</a>. If required, log in using your database access credentials. On a fresh XAMPP installation without any changes, you can log in as <em>root</em> with a blank password.</p>
</li>
<li>
<p>Select the database to be backed up from the list in the left navigation pane. In this case, we’re backing up the WordPress database, which is named <em>bitnami_wordpress</em>.</p>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image1.png" alt="image1">
</div>
</div>
</li>
<li>
<p>Select the "Export" command in the top navigation bar.</p>
</li>
<li>
<p>On the resulting page, select "Quick" as the export method and "SQL" as the output format. Click "Go" to proceed.</p>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image2.png" alt="image2">
</div>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>phpMyAdmin will export the database to a text file as a series of SQL statements. Once done, the browser will prompt you to download it to the desktop. This text file is your backup, so store it safely!</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image3.png" alt="image3">
</div>
</div>
<div class="paragraph">
<p>At a later point, you may wish to restore the database. To restore the data to a fresh MySQL/MariaDB database using phpMyAdmin, follow these steps:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Browse to <a href="http://localhost/phpMyAdmin" class="bare">http://localhost/phpMyAdmin</a> or <a href="http://127.0.0.1/phpMyAdmin" class="bare">http://127.0.0.1/phpMyAdmin</a>. If required, log in using your database access credentials.</p>
</li>
<li>
<p>Select the "New" command in the left navigation pane.</p>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image4.png" alt="image4">
</div>
</div>
</li>
<li>
<p>On the resulting page, enter a name for the new database (in this case, <em>myblog</em>). Select the collation "utf8_general_ci". Click "Create" to create the database.</p>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image5.png" alt="image5">
</div>
</div>
<div class="paragraph">
<p>Once the database has been created, it will appear in the left navigation pane.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image6.png" alt="image6">
</div>
</div>
</li>
<li>
<p>Select the new database from the left navigation pane. In the resulting page, select the "Import" command in the top navigation bar.</p>
</li>
<li>
<p>Click the "Browse…​" button and select the backup file created earlier. Click "Go" to proceed.</p>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image7.png" alt="image7">
</div>
</div>
<div class="paragraph">
<p>phpMyAdmin will import the data from the backup file. Once complete, you will see a screen indicating the status of the import.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image8.png" alt="image8">
</div>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>If you browse the contents of the database, you should now see your original data.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image9.png" alt="image9">
</div>
</div>
<div class="paragraph">
<p>You should now update your application’s configuration and point it to your newly-created database. For example, with the Bitnami WordPress module, you will need to edit the <em>wp-config.php</em> file in the <em>apps\wordpress\htdocs\</em> subdirectory of your XAMPP installation directory. Within this file, you will need to update the <em>DB_NAME</em> constant to use the new database name.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image10.png" alt="image10">
</div>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
By default, PHP (and therefore phpMyAdmin) is configured to only accept uploads up to 2 MB in size. If your database is larger than this, you need to modify the PHP configuration file to accept a larger upload size. To do this, edit the <em>php.ini</em> file in the <em>php\</em> subdirectory of your XAMPP installation directory and increase the values of the <em>post_max_size</em> and <em>upload_max_filesize</em> variables. Save your changes and restart Apache for the changes to take effect.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_using_command_line_tools">Using Command-Line Tools</h2>
<div class="sectionbody">
<div class="paragraph">
<p>MySQL and MariaDB include two command-line tools that you can use to quickly backup and restore databases. The <em>mysqldump</em> tool is used to export the contents of a database to a text file, while the <em>mysql</em> client can be used to import data from a text file into a MySQL/MariaDB database.</p>
</div>
<div class="paragraph">
<p>To backup a MySQL/MariaDB database from the command line, follow these steps:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Launch a new Windows command shell using the "Shell" button in the XAMPP control panel.</p>
</li>
<li>
<p>Use the command below to export the contents of the selected database. In this example, we’re backing up the WordPress database, which is named <em>bitnami_wordpress</em>, to a file named <em>bitnami_wordpress.sql</em>. This text file is your backup, so store it safely!</p>
<div class="literalblock">
<div class="content">
<pre>mysqldump --user=root --password="" bitnami_wordpress > bitnami_wordpress.sql</pre>
</div>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image11.png" alt="image11">
</div>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>At a later point, you may wish to restore the database. To restore the data to a fresh MySQL/MariaDB database from the command line, follow these steps:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Launch a new Windows command shell using the "Shell" button in the XAMPP control panel.</p>
</li>
<li>
<p>Use the <em>mysql</em> client to create a new, empty database to hold your data. In this example, the new database is named <em>myblog</em>.</p>
<div class="literalblock">
<div class="content">
<pre>mysql --user=root --password="" -e "CREATE DATABASE myblog"</pre>
</div>
</div>
<div class="paragraph">
<p>Remember to use the correct database access credentials in the command. On a fresh XAMPP installation without any changes, you can usually log in as root with a blank password.</p>
</div>
</li>
<li>
<p>Use the <em>mysql</em> client to import the contents of the backup file into the new database.</p>
<div class="literalblock">
<div class="content">
<pre>mysql --user=root --password="" --database=myblog < bitnami_wordpress.sql</pre>
</div>
</div>
<div class="paragraph">
<p>The command-line client will now import the data from the backup file.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image12.png" alt="image12">
</div>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>If you browse the contents of the database, you should now see your original data.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image13.png" alt="image13">
</div>
</div>
<div class="paragraph">
<p>You should now update your application’s configuration and point it to your newly-created database. For example, with the Bitnami WordPress module, you will need to edit the <em>wp-config.php</em> file in the <em>apps\wordpress\htdocs\</em> subdirectory of your XAMPP installation directory. Within this file, you will need to update the <em>DB_NAME</em> constant to use the new database name.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="./images/backup-restore-mysql/image14.png" alt="image14">
</div>
</div>
</div>
</div>
</article>
</div>
</div>
</div>
<footer>
<div class="row">
<div class="large-12 columns">
<div class="row">
<div class="large-8 columns">
<ul class="social">
<li class="twitter"><a href="https://twitter.com/apachefriends">Follow us on Twitter</a></li>
<li class="facebook"><a href="https://www.facebook.com/we.are.xampp">Like us on Facebook</a></li>
<li class="google"><a href="https://plus.google.com/+xampp/posts">Add us to your G+ Circles</a></li>
</ul>
<ul class="inline-list">
<li><a href="https://www.apachefriends.org/blog.html">Blog</a></li>
<li><a href="https://www.apachefriends.org/privacy_policy.html">Privacy Policy</a></li>
<li>
<a target="_blank" href="http://www.fastly.com/"> CDN provided by
<img width="48" data-2x="/dashboard/images/fastly-logo@2x.png" src="/dashboard/images/fastly-logo.png" />
</a> </li>
</ul>
</div>
<div class="large-4 columns">
<p class="text-right">Copyright (c) 2018, Apache Friends</p>
</div>
</div>
</div>
</div>
</footer>
<!-- JS Libraries -->
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="/dashboard/javascripts/all.js" type="text/javascript"></script>
</body>
</html>