我的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脚本,以便我可以从源文件中插入查询。
答案 0 :(得分:1)
这样做的一种方法是
mysql -u root --execute="source /usr/local/insert.sql; quit;"
答案 1 :(得分:0)
您的导入似乎挂起了!
检查数据库是否锁定。
show processlist;
运行FLUSH TABLES释放任何可能的锁,然后运行导入命令 如果源命令再次挂起:
退出mysql服务器并运行:
mysqldump -u -p database-name< dump.sql
答案 2 :(得分:0)
感谢您的帮助。我已经尝试在我的脚本中添加你的行,它主要是给出了一些错误,然后我改变了命令,如下所示 -
mysql -u root --execute="source /usr/local/insert.sql; \q"
以上一行帮助我执行了我的命令。
感谢所有人的帮助。
此致 Shah9il