MySQL 从 Unix 命令行导出带前缀的表

MySQL 从 Unix 命令行导出带前缀的表

我想从一个数据库导出某些表并将其导入到另一个数据库。这些表用于我的 MediaWiki 安装,并以“wiki_”为前缀。

我无法访问 phpMyAdmin,但我可以通过 SSH 连接到服务器。我猜我需要使用该mysqldump命令,但我如何指定我只想转储以“wiki_”为前缀的表?

答案1

您必须生成要转储的表的列表,然后对其采取行动。

mysql -u USER -p -D test -Bse "show tables like 'wiki_%'" >tables.out
mysqldump -u USER -p test <tables.out >wiki_tables.dump

或者作为一行

mysqldump -u USER -p test $(mysql -u USER -p -D test -Bse "show tables like 'wiki_%'")

但您仍然需要输入两次密码。

答案2

由于mysqldump不能使用通配符,您必须指定所需的表:

mysqldump -u username -p database wiki_table1 wiki_table2 .. > database.sql

或者您可以指定您不想导出的表:

mysqldump -u username -p database --ignore-table=atable --ignore-table=anothertabl > database.sql

相关内容