用shell脚本在mysql中插入数据
我对shell脚本有问题:用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
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”附近使用的正确语法
请帮助我解决此问题,否则在刷新、删除数据库并再次创建数据库后,此问题不会得到解决