Site hosting news, tutorials, tips, How Tos and more

Using mysqldump to backup and restore your MySQL database/tables

howto

Note: The manual methods in this tutorial are great, but if you’re looking for a “set-it-and-forget-it” automated backup solution, we now offer a site backup service that can also back up your MS SQL and MySQL databases. Read more about it on our site, or activate it in Control Panel. It’s easy, it’s inexpensive and it’s cool. What more could you ask for?

A lot of people seem to have a problem doing backup and restoration of a MySQL database easily and quickly.  However, I am going to show you how to do just that using MySQL’s built in mysqldump.exe utility through a Windows MS-DOS prompt.

There are some limitations to this utility given that Winhost customers cannot add and drop databases when trying to restore a backup, so the restore section is only recommended for new empty databases.  My local environment also consisted of using MySQL version 5.5.13 so that this information would be as up to date as possible. You can find additional features, commands, and details on this tool straight from the MySQL site.

Requirements

First you are going to want to download the latest version of MySQL from the MySQL site.

Note: If you are not sure whether to download the MSI installer file or the .zip archive I would recommend to downloading MSI package. This file provides you with everything you need including a Configuration Wizard which is not included in the No-install Archive.

Compare Winhost plansNow install MySQL on your local machine in the default directory C:\Program Files\MySQL\MySQL Server 5.5 since this is what Oracle recommends. Here is the installation documentation for both the MSI Installer package and the ZIP Archive:

Installer – http://dev.mysql.com/doc/refman/5.5/en/windows-using-installer.html

Archive – http://dev.mysql.com/doc/refman/5.5/en/windows-install-archive.html

Use the mysqldump utility to create a backup of you database.

  1. Open up a Windows command prompt.
    • Click Start -> Run
    • Enter “cmd” into the dialog box and click the “OK” button.
  2. Change the directory to the following to access the mysqldump utility.
    • cd C:\Program Files\MySQL\MySQL Server 5.5\bin
  3. Create a dump of your current mysql database or table (do not include the bracket symbols [ ] in your commands).
    • Run the mysqldump.exe program using the following arguments:
    • mysqldump.exe –e –u[username] -p[password] -h[hostname] [database name] > C:\[filename].sql
  4. If you supplied all the arguments properly, the program will connect to your current mysql server and create a dump of your whole database in the directory you specified in your C:\ directory. There is no message that will indicate the dump has been completed, the text cursor will simply move to the next line.

Here is an example of the command line syntax:

Use the mysql utility to restore your database/table(s) dump to your Winhost MySQL database

Note: The following command will only write the data that is in the .sql file. This will not drop and create the database or truncate any of your other tables in your database.  The command will script all the table data in the .sql file to your Winhost database. If you have a table name present in your Winhost database that matches a table name in the .sql file, the table will be overwritten with the new data. Otherwise the script will create a new table and populate it with the new data.

  1. Open up a windows command prompt.
    • Click Start -> Run
    • Enter “cmd” into the dialog box and click the “OK” button.
  2. Go to the directory that the mysql client utility is located.
    • cd C:\Program Files\MySQL\MySQL Server 5.5\bin
  3. Import the dump of your database or table.
    • Run the mysql.exe program using the following arguments.
    • mysql –u[user name] -p[password] -h[hostname] [database name] < C:\[filename].sql

There are many other features and commands available if you would like to dig a little deeper into this useful utility, including setting character sets, changing ports, and selectively choosing tables to dump. In case you missed it earlier I have included the link below:

http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html

Jaime
Winhost Technical Support


14 Responses
  • asif Reply

    thanks good info

  • DDiana Reply

    thanks for the info n.n

  • jayesh gupta Reply

    Thanks a ton..!!!

    • Hank Reply

      Sure Jayesh. That looks like a Kay guitar in your Gravatar…

  • LM Reply

    Thanks from the useful information.

  • Arnold Parge Reply

    i created back up.. then deleted the detabase.. now when im trying to restore.. i caanot be restored.. it says.. database not found. plz hlp…

  • naresh Reply

    thanks for the information

  • bigbyteall Reply

    first create database using create database then use Restore

  • Neil Weicher Reply

    Not sure if you are still monitoring this thread. Hope you don’t mind a question from a MySQL newbie.

    Using MySQL on Windows, is there a way to specify the input file name when restoring using MYSQLIMPORT.EXE or MYSQL.EXE other than using < inputfile ?

    For example, MYSQLDUMP.EXE has the –result-file (or -r) parameter. I cannot find an equivalent input file parameter for MYSQLIMPORT.EXE or MYSQL.EXE.

    Or is < inputfile the only way to do that?

  • deepak Reply

    good information is working

  • Karan Arora Reply

    Can you share the mysql commands to do the same

    • Michael Reply

      This is for MySQL…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.