gpt4 book ai didi

mysql - 当 MySQL 转储包含 `use` 时,在导入期间显示警告

转载 作者:行者123 更新时间:2023-11-29 11:32:05 25 4
gpt4 key购买 nike

假设我有一个大型 MySql 转储,我想将其导入到特定数据库。

我可以使用

mysql -D bar --one-database < foo.mysql

foo.mysql有一个use foo;某处。

这个命令已经完成了我想要的大部分操作:忽略对另一个数据库比 bar 更重要的数据.

我可以使用grep -e "^use " foo.mysql检查数据库转储是否包含 use 语句。

但是我可以在导入过程中执行此操作,这样我就不必读取转储两次吗?

最佳答案

导入示例时阅读:

< dump.sql tee >(sed -n '/^USE `[^`]*`;$/ p' 1>&2) | mysql ...

该示例将文件 dump.sql 导入 mysql,同时打印使用语句:

...
USE `blue-racoon`;
USE `funny-basil`;
USE `purple-fish`;
...

说明:如果您有 mysql 服务器所有数据库的完整转储(--all-databases 长选项),并且您想查看所有 SQL USE -语句文件通过管道传输到mysql时,您可以使用tee动态复制内容, sed 仅在某行是 USE 语句时从那些重复的行中打印。

然后,过滤后的输出将重定向到STDERR进行检查,而未过滤的输出可以正常由mysql导入。

我希望这会有所帮助。

关于mysql - 当 MySQL 转储包含 `use` 时,在导入期间显示警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37237310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com