X
    Categories: Knowledgebase

How to import and export a database via SSH or cPanel

You can easily import/export your database using phpMyAdmin menu in cPanel. To do so, it allows processing only the databases that do not exceed 50Mb. If your database is bigger, you will need to use SSH commands.

Note that before performing an export or import, you will need to assign a database to a user. You can do it in cPanel > MySQL Databases menu > Add a User to a Database option:

Make sure that you enable All Privileges option:

In order to import a database, use the following command:

mysql -u dbusername -pdbpassword dbname < /path/to/file/file.sql

In order to export, use this one:

mysqldump -u dbusername -pdbpassword dbname > /path/to/file/file.sql

The variable in italics are the following: 

  • dbusername: the name of a database user assigned to this database (it should be in the format of CPANELUSERNAME_DATABASEUSER), or your cPanel username
  • dbpassword: the database user password (if you use a database user as a username) or your cPanel password (if you use your cPanel username as a username)

NOTE: No space between -p key and the password if you enter it in the command.

  • dbname: the name of your database you are importing to or exporting from. It should be created in your cPanel. The format is the following: CPANELUSERNAME_DATABASENAME
  • /path/to/file/file.sql: the path to the mysql dump that you are importing to (then a new file will be created) or exporting from your cPanel account. Here you can use both relative and absolute path formats. If you are in the folder with the file, you can just type the file name with the extension. With the absolute path, for example, it will be the following: /home/CPANEL_USERNAME/public_html/database.sql

If you do not receive any error or notification after pressing Enter, it means that the command was performed successfully.

Let us provide with an example.

We will use the following settings:

  • dbusername: nctests_user (as a database user), nctests (as a cPanel username)
  • dbpassword: 123qwe
  • dbname: nctests_database
  • path to the file: /home/nctests/public_html/databases/db_file.sql

After defining all the variables, the command will look the following way:

Database import

mysql -u nctests_user -p123qwe nctests_database < /home/nctests/public_html/databases/db_file.sql 

NOTE: You can also use the following command:

mysql -u nctests_user -p nctests_database < /home/nctests/public_html/databases/db_file.sql 

This way, you need to enter the password in the next line:

Database export

mysqldump -u nctests_user -p123qwe nctests_database > /home/nctests/public_html/databases/db_file.sql 

NOTE: You can also use the following command:

mysqldump -u nctests_user -p nctests_database > /home/nctests/public_html/databases/db_file.sql 

This way, you need to enter the password in the next line:

That’s it!

Thank for reading this post, Hope it helps.

Kien Wiliam: Magento Ecommerce Developer