Export Local MySQL Table Into Remote Database

I am trying to export only some tables in a local database, into a remote database which has the same name of these tables + some other tables (I want to overwrite the remote database tables which has the same name with the local ones I have from my database, both databases are called wordpress).

After a bit of Google'ing, I thought the following command should work:

mysqldump -u USER --single-transaction --compress --order-by-primary --databases wordpress wp_posts wp_postmeta wp_comments wp_commentmeta wp_users wp_usermeta -pPASSWORD1 | mysql -u USER -pPASSWORD2 --port=REMOTE_PORT --host=REMOTE_HOST

But it gives me following error:

mysqldump: Got error: 1049: Unknown database 'wp_posts' when selecting the database

Why?

0
задан 28 October 2017 в 13:20
1 ответ

- databases позволяет вам указать, какие базы данных вы хотите сбросить, поэтому, делая то, что вы делаете, вы говорите ему сбросить все эти базы данных, которые после wordpress являются таблицами в базе данных wordpress.

Вы хотите это

mysqldump -u USER --single-transaction --order-by-primary wordpress wp_posts wp_postmeta wp_comments wp_commentmeta wp_users wp_usermeta -pPASSWORD1 | mysql -u USER -pPASSWORD2 --port=REMOTE_PORT --host=REMOTE_HOST wordpress

Просто удалите флаг - databases . Я бы также добавил флаг - compress к клиенту mysql для импорта. Также убедитесь, что вы создали базу данных на удаленной стороне

CREATE DATABASE wordpress;

Вот справка по mysqldump

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
1
ответ дан 4 December 2019 в 16:06

Теги

Похожие вопросы