Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/htdocs/dashboard/docs/ |
<!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>