使用shell脚本在mysql中插入数据

时间:2014-03-28 19:44:12

标签: mysql sql bash shell

我的shell脚本有问题:

我正在尝试将包含MySQL查询的源文件中的数据注入数据库。以下是我的shell脚本的相关行:

mysql -u root
source /usr/local/insert.sql;
quit;

例如,我正在运行./insertfile文件并且它运行顺利但是当涉及MySQL中的数据插入时,它使用mysql -u root命令登录到MySQL,但其余操作({{ 1}}和source /usr/local/insert.sql;)没有被执行。当我手动退出MySQL时,它会尝试从我的quit;文件执行其余命令。

因此,请帮助我使用正确的shell脚本,以便我可以从源文件中插入查询。

3 个答案:

答案 0 :(得分:1)

这样做的一种方法是

mysql -u root --execute="source /usr/local/insert.sql; quit;"

答案 1 :(得分:0)

您的导入似乎挂起了!
检查数据库是否锁定。

show processlist;

运行FLUSH TABLES释放任何可能的锁,然后运行导入命令 如果源命令再次挂起:

  • 输入您的myslq服务器
  • drop database insert;
  • 创建数据库插入
  • 退出mysql服务器并运行:

    mysqldump -u -p database-name< dump.sql

答案 2 :(得分:0)

感谢您的帮助。我已经尝试在我的脚本中添加你的行,它主要是给出了一些错误,然后我改变了命令,如下所示 -

mysql -u root --execute="source /usr/local/insert.sql; \q"

以上一行帮助我执行了我的命令。

感谢所有人的帮助。

此致 Shah9il