Merge two MySQL databases

The easiest way I can explain this is show you how to copy data from a table to another table.

Both databases need to exist on the same account. If they do not, you will need to create a backup of one and move it. (If both databases have the same name, you will need to also rename one before moving).

Once both are on the same account, login to either SSH or cPanel.

cPanel

  1. From cPanel, you need to click the phpMyAdmin icon.
  2. Click the SQL tab at the top. You will see where it says, 'Run SQL query/queries on server "localhost":'
  3. In the text box below that, insert the following code, but replace DB1 and DB2 with the database names. Also, replace TABLE1 with the table name you are trying to merge.
    INSERT INTO DB1.TABLE1 SELECT * FROM DB2.TABLE1
  4. Click the Go button.
  5. Repeat for any other tables you want to merge.

Shell (SSH)

  1. From SSH, you need to type the command to access mysql. Here is the format, but replace MYNAME with your username and PASS with your password.
  2. mysql -u MYNAME -pPASS
  3. Now type the following code, but replace DB1 and DB2 with the database names. Also, replace TABLE1 with the table name you are trying to merge.
    INSERT INTO DB1.TABLE1 SELECT * FROM DB2.TABLE1;
  4. Hit the Enter key.
  5. Repeat for any other tables you want to merge.

Here is what mine looks like:

INSERT INTO myname_oldsaved.responses SELECT * FROM myname_newsaved.responses

HINT: Use REPLACE INTO instead of INSERT INTO to have the data from DB2 overwrite the data in DB1 if they share a primary/unique key.