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

从shell导入多个.sql转储文件到mysql数据库

阚乐湛
2023-03-14
问题内容

我有一个包含一堆.sql文件的目录,这些文件由mysql转储到服务器上的每个数据库。

例如

database1-2011-01-15.sql
database2-2011-01-15.sql
...

实际上有很多。

我需要创建一个shell脚本或单行,可能会导入每个数据库。

我在Linux Debian机器上运行。

我认为有某种方法可以将ls的结果传递到一些find命令或其他内容中。

非常感谢任何帮助和教育。

编辑

所以最终我想一次自动将一个文件导入数据库。

例如,如果我手动执行一项操作,它将是:

mysql -u root -ppassword < database1-2011-01-15.sql

问题答案:

cat *.sql | mysql?您是否需要任何特定的顺序?

如果您有太多方法无法处理,请尝试以下方法:

find . -name '*.sql' | awk '{ print "source",$0 }' | mysql --batch

尽管通过Linux在管道处理中应该没有问题,但通过管道传递脚本输入也解决了一些问题。这种方法的好处是mysql实用程序读取每个文件,而不是从中读取文件stdin



 类似资料:
  • 问题内容: 是否可以将数据从XML文件导入到SQL数据库,如果可以,该怎么做。我有一个包含约50000条目的XML文件,我必须创建一个可以操纵该数据(主要是读取和比较)的应用程序- 因此,我担心的是使用该数量的数据进行操纵(而且很可能未来还会有更多)将会非常缓慢且效率低下。如果您认为还有其他选择会更好,请告知。谢谢 问题答案: 您可以使用SQL Server导入和导出向导。您还可以查看SQL Se

  • 问题内容: 如何从MySQL导入“ xxxx.sql”转储到PostgreSQL数据库? 问题答案: 不要指望没有编辑就可以工作。也许很多编辑。 mysqldump有一个兼容性参数,其中“名称”可以是“ oracle”或“ postgresql”,但这不能保证兼容性。我认为像ANSI_QUOTES这样的服务器设置也有一定作用。 如果包含用于创建转储的完整命令以及收到的任何错误消息,而不仅仅是说“对

  • 问题内容: 更新 在我发布此问题之后的第二秒,由于对结果查询的语法突出显示,我看到了出了什么问题:该字符串未以闭合斜线开头。现在我将其更改为: 但是,这提出了一个新问题:为什么PDO对象没有为此向我吐出错误?手动执行查询肯定会返回一个错误,指出没有名为的字段,最后是逗号。为什么我没有收到任何错误?有任何想法吗? PS:关于解决我的问题的SO语法突出显示方面有什么想法吗?:-) 我将原始问题留作参考

  • 问题内容: 我有一个表,其中的图像数据存储在MySQL数据库的blob字段中。有没有一种方法可以仅使用SQL将这些图像导出到文件系统上的文件?图片应命名为{imageId} .jpg 我知道用Java或其他方法很容易做到这一点,但是仅用SQL脚本就能做到吗? 问题答案: 我不喜欢这个主意… 尽管有错误

  • 本文向大家介绍PHP执行SQL文件并将SQL文件导入到数据库,包括了PHP执行SQL文件并将SQL文件导入到数据库的使用技巧和注意事项,需要的朋友参考一下 上面text.sql是你需要执行的sql文件,DB_HOST主机名,DB_USER用户名,DB_PASS密码! 这只是最基本的自动执行sql文件,你还可以自定义生成数据库的名称,方法就是将sql文件中下面的代码删去 USE 数据库名 然后在te

  • 问题内容: 我有一个名为的数据库。我还没有在那创建任何表。但是我有一个SQL文件,其中包含数据库的所有必需数据。该文件位于中。该文件的大小约为103 MB。我正在使用wamp服务器。 我已在MySQL控制台中使用以下语法导入文件: 但这没有用。 问题答案: 最后,我解决了这个问题。我将“ nitm.sql”文件放在“ mysql”文件夹的“ bin”文件中,并使用以下语法。 这行得通。