Tiger Technologies Technical Support

How do I duplicate a MySQL database?

The phpMyAdmin tool can be used to export and import databases up to a few MB in size, providing a simple way to duplicate a copy of a database using a different name on our servers.

(Remember that we already make daily MySQL backups - you only need to follow the instructions on this page if you truly need to duplicate a database under a different name.)

On this page:

Exporting a copy of the database to your computer

  1. Login to the database that you want to duplicate using phpMyAdmin
  2. Click the database name on the left-hand side of the page. (Don't skip this step — if you continue to step 3 before doing this, you won't be able to reload the database under a new name later.)
  3. Select the Export tab
  4. Select the Save as file option
  5. Click Go

You'll then be prompted to save the database file on your personal computer.

Importing the copy into a new database

You'll first need to create the new, empty database on our servers using the account control panel. After the new database has been created:

  1. Login to the new database using phpMyAdmin
  2. Click the database name on the left-hand side of the page
  3. Select the Import tab
  4. Click the Browse button under "File to import", then select the database file from your computer
  5. Click Go to import the database

(Hint: If you see a "No database selected" error, it's probably because you forgot to first click on the database name in the left-hand column.)

Doesn't phpMyAdmin have a "Copy Database" feature that can do this in a single step?

Our system assigns a unique MySQL username to every database that you create. Unfortunately, phpMyAdmin can only copy the database if a single MySQL username has read and write permissions for both databases, which isn't the case.

Using the command line for larger databases

If the database is more than a few MB in size, phpMyAdmin may have problems importing the file. In that case, advanced users can bypass phpMyAdmin completely using the command line shell, which is much more reliable.

For example, if you have database called customers that you want to copy to new_customers, you would first create a "database dump" file using:

mysqldump -u customers -p customers > customers.dump 

Then you'd login to the control panel and create the new MySQL database and run this command to import the dump file, specifying the login details for the new database:

mysql -u new_customers -p new_customers < customers.dump

If you're not comfortable using the shell, please contact us and we'll be glad to do it for you.

Search


Related Topics

Avoiding SQL Commands

MySQL Backups

Creating MySQL Databases

Unix Shell (telnet and SSH) Access

Contacting Tiger Technologies