Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql转储批处理-根据选择排除某些表_Mysql_Database_Batch File - Fatal编程技术网

mysql转储批处理-根据选择排除某些表

mysql转储批处理-根据选择排除某些表,mysql,database,batch-file,Mysql,Database,Batch File,我们的数据库中有100个表,其中20个表的数据是通过加载数据填充生成的 因此,如果我们知道它们是最重的——大约是数据库大小的80%,那么用MYSQLDUMP保存它们是没有意义的 这些加载数据填充使用PHP表单进行管理,因此表名保存在数据库中,如下所示: 表格名称:导入表格 表格的列:表格名称、表格列、创建日期等 因此,当我提出这个问题时: SELECT table_name FROM import_table 我有一个结果: list_of_customer all_order all_inv

我们的数据库中有100个表,其中20个表的数据是通过加载数据填充生成的 因此,如果我们知道它们是最重的——大约是数据库大小的80%,那么用MYSQLDUMP保存它们是没有意义的

这些加载数据填充使用PHP表单进行管理,因此表名保存在数据库中,如下所示:

表格名称:导入表格

表格的列:表格名称、表格列、创建日期等

因此,当我提出这个问题时:

SELECT table_name FROM import_table
我有一个结果:

list_of_customer
all_order
all_invoice
...
因此,由于这个表包含了所有要忽略的表,并且这些表可以随时更改,所以我希望创建我的批以执行MYSQLDUMP

所以我这样做了:

@ECHO OFF
"C:\wamp\bin\mysql\mysql8.0.18\bin\mysqldump.exe" mydatabase --result-file="C:\test1\test2\databases.sql" --user=**** --password=****
如何集成导入表中的SELECT table\u name以使用选项-ignore table

在文件中获取表的名称 在变量中读取该文件 将该变量用于-ignore表
我无法在mac上进行测试,但我希望您了解如何进行测试。

您是否可以添加一个存储过程来转储表并调用它,而不是在脚本文件中完成所有工作?否则,您必须将查询结果保存到一个文件中,然后解析该文件以构建转储命令行?请注意,这是一个生产数据库,我不能清空表,也不能让UsersHank等待太长时间,但我有一个错误:mysqldump:找不到表:group\u concatable\u name确实在文件的第一行,我有group\u concatable\u name,然后是表列表,如何删除这一行?是否能够单独执行原始查询?从导入表格中选择group_Concatable_name?是的,它可以工作,并且我有一个以逗号分隔的表格列表,突然我不明白为什么我在文本文件中有这第一行
@ECHO OFF

"C:\wamp\bin\mysql\mysql8.0.18\bin\mysql.exe" mydatabase -e "SELECT group_concat(table_name) FROM import_table" --user=**** --password=**** > queryresult.txt

set /p ExcludedTables=<queryresult.txt

"C:\wamp\bin\mysql\mysql8.0.18\bin\mysqldump.exe" mydatabase --result-file="C:\test1\test2\databases.sql" --user=**** --password=**** --ignore-table-=%ExcludedTables%