Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用shell脚本在mysql中插入数据_Mysql_Sql_Bash_Shell - Fatal编程技术网

用shell脚本在mysql中插入数据

用shell脚本在mysql中插入数据,mysql,sql,bash,shell,Mysql,Sql,Bash,Shell,我对shell脚本有问题: mysql -u root source /usr/local/insert.sql; quit; 我试图将包含MySQL查询的源文件中的数据注入数据库。以下是我的shell脚本的相关行: mysql -u root source /usr/local/insert.sql; quit; 例如,我以/insertfile的形式运行该文件,它运行平稳,但在MySQL中插入数据时,它使用MySQL-u root命令登录到MySQL,但其余操作(source/usr/l

我对shell脚本有问题:

mysql -u root
source /usr/local/insert.sql;
quit;
我试图将包含MySQL查询的源文件中的数据注入数据库。以下是我的shell脚本的相关行:

mysql -u root
source /usr/local/insert.sql;
quit;
例如,我以
/insertfile
的形式运行该文件,它运行平稳,但在MySQL中插入数据时,它使用
MySQL-u root
命令登录到MySQL,但其余操作(
source/usr/local/insert.sql;
quit;
)没有执行。当我手动退出MySQL时,它会尝试从我的
insert.sql
文件执行命令的其余部分


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

一种方法是

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

看来你的进口挂了
检查数据库是否锁定。

show processlist;
运行FLUSH TABLES释放所有可能的锁,然后运行导入命令。
如果源命令再次挂起:

  • 输入您的myslq服务器
  • 删除数据库插入
  • 创建数据库插入
  • 退出mysql服务器并运行:

    mysqldump-u-p数据库名称

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

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

      上面这一行帮助我执行命令

      谢谢大家的帮助

      问候,,
      Shah9il

      您是否在操作系统级别对该文件拥有完全权限,并确保运行“USE DB_NAME;”在运行它之前,先生,您指的是什么类型的权限?在文件系统级别!是的,我有这些权限。好的!进入你的mysql并运行这个命令“\!head/usr/local/insert.sql'--显示输出!尊敬的zshooter先生,感谢您的宝贵意见,但在我的脚本中添加此链接后,mysql
      error 1064(42000)第1行出现以下错误:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“quit”附近使用的正确语法
      请帮助我解决此问题,否则在刷新、删除数据库并再次创建数据库后,此问题不会得到解决