cat SQL 文件并传递给导入模式

cat SQL 文件并传递给导入模式

我正在尝试导入一系列 .SQL 文件,这些文件将每个数据库对象一个文件映射到 mysql 中,而无需调用 mysql 50 次,如下所示:

mysql -u root < cat schema/db1/*.sql

这不起作用,因为“cat”不是一个目录——我将如何实现这一点——为什么我的东西不起作用?我对linux命令管道有什么不明白的地方???

编辑 |数据库是由 SQL 文件创建的,因此这也不起作用:

cat bridge_access/*.sql | mysql -u root bridge_access

答案1

您正在尝试的命令尝试将其cat视为文件,将其内容推入mysqlSTDIN 中。相反,您需要将命令的结果cat推入 STDIN,这可以通过几种不同的方式完成。我这样做的方法是将管道输出catmysql

$ cat schema/db1/*.sql | mysql -u root

同样有效,您可以使用:

$ mysql -u root < `cat schema/db1/*.sql`

相关内容