当前位置: 首页 > 面试题库 >

使用mysqldump跳过某些表

郝承悦
2023-03-14
问题内容

有没有办法限制来自mysqldump命令的某些表?

例如,我将使用以下语法 转储table1和table2:

mysqldump -u username -p database table1 table2 > database.sql

但是,有没有类似的方法来转储 table1和table2 之外的
所有表?我没有在mysqldump文档中找到任何东西,所以暴力破解(指定所有表名)是唯一的方法吗?


问题答案:

您可以使用--ignore-
table
选项。所以你可以做

mysqldump -u USERNAME -pPASSWORD DATABASE --ignore-table=DATABASE.table1 > database.sql

之后没有空格-p(这不是错字)。

如果要忽略多个表,可以使用一个简单的脚本,如下所示

#!/bin/bash
PASSWORD=XXXXXX
HOST=XXXXXX
USER=XXXXXX
DATABASE=databasename
DB_FILE=dump.sql
EXCLUDED_TABLES=(
table1
table2
table3
table4
tableN   
)

IGNORED_TABLES_STRING=''
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
   IGNORED_TABLES_STRING+=" --ignore-table=${DATABASE}.${TABLE}"
done

echo "Dump structure"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --no-data --routines ${DATABASE} > ${DB_FILE}

echo "Dump content"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} ${DATABASE} --no-create-info --skip-triggers ${IGNORED_TABLES_STRING} >> ${DB_FILE}


 类似资料:
  • 我正在使用TestNG数据提供程序读取数据池。xls文件,在名为ReadData的类中包含1017个测试用例和214列。 然后,我将214个String参数传递到名为Enterprise Data的单独类中的@Test注释中。 我在@Test中创建了一个for循环,只执行ceratin迭代的操作(比如1-10),它总共只输入10个测试用例。我的问题是,在运行结束时,它仍然显示“Total test

  • 问题内容: 我有正在清理的庞大,混乱的数据库。它可以容纳500多个表,这是将Magento Enterprise和Joomla合并到一个数据库中的结果。 更糟糕的是,有一组70多个Joomla表完全没有使用。这些都以开头。 仅删除这些表将很容易,但是我想先将其“ bak”起来(看看我在那里做了什么?)。在我的脑海中,我可以想象这样的命令: 但这是行不通的。最好的方法是什么?谢谢! 编辑:是的,我可

  • 我正在使用TestNG进行单元测试。我使用@BeforeMethod保存记录,然后执行更新、搜索、删除测试。 我的测试类如下所示:

  • 问题内容: 是否可以跳过/排除某些测试的运行? 我有大量的集成类型测试,这些调用称为标准服务测试编写的rest服务,并使用运行。开发新功能时,有时可以跳过某些测试,例如,如果该新功能尚未部署在测试服务器上,并且我仍想运行所有现有测试(那些进行测试的新测试除外),则有时会有用新功能)。 我知道,但是我不想指定我要运行的所有测试,那将是一长串。同时,我无法编写排除测试的正则表达式。 另一个选择是不提交

  • 当使用BufferedReader读取文件时,我希望它跳过空行和以“#”开头的行。最终,每个单独的字符都会被添加到数组列表中 除非我弄错了,BufferedReader会自动跳过空行。除此之外,我该怎么做呢? 我能跳过()吗?行的长度可能会有所不同,所以我认为这行不通。

  • 有没有办法配置Micronaut断路器,使其不为特定的HTTP状态代码打开?例如,如果我对一个项目进行查找,但没有找到该项目,那么服务器可能返回HTTP状态404。这可能是一个完全有效的反应,我不希望断路器在这些情况下打开。 据我所知,Micronaut断路器并没有与HTTP绑定,但仍有一个解决方案几乎使我达到了这个目的: 在这里,我使用了Micronaut2附带的新谓词,在本例中,如果HTTP状