MySql使用Makefile创建数据库
对于简单的“显示数据库”查询,它也会抛出错误MySql使用Makefile创建数据库,mysql,docker,makefile,Mysql,Docker,Makefile,对于简单的“显示数据库”查询,它也会抛出错误 我不知道它为什么不起作用问问题的第一条规则是:始终包括您键入的命令和您得到的输出,剪切并粘贴到您的问题中。如果输出太长、太乱而无法包含,那么至少要始终包含您得到的实际错误或不正确的输出,以及前后几行内容 编写makefile的第一条规则:在makefile完全工作之前,不要添加@。你隐藏关键细节,这是在伤害自己的脚。或者,阅读另一种处理方法 编写makefiles的第二条规则:在尝试将命令添加到makefile配方之前,在shell命令行中键入时,始
我不知道它为什么不起作用问问题的第一条规则是:始终包括您键入的命令和您得到的输出,剪切并粘贴到您的问题中。如果输出太长、太乱而无法包含,那么至少要始终包含您得到的实际错误或不正确的输出,以及前后几行内容 编写makefile的第一条规则:在makefile完全工作之前,不要添加
@
。你隐藏关键细节,这是在伤害自己的脚。或者,阅读另一种处理方法
编写makefiles的第二条规则:在尝试将命令添加到makefile配方之前,在shell命令行中键入时,始终确保命令有效
我对docker不太了解,但我怀疑这是一个引用shell的问题,而不是make的问题。。。如果剪切并粘贴到shell提示符,我怀疑此命令将不起作用。那是因为我认为你的报价是错误的
请尝试以下方法(注意mysql命令的不同引用):
这确保了最后一个命令是一个包含引号的单词。您说“it抛出错误”,但在询问帮助时忽略了细节。另请参阅“谢谢”的提示,但我发现了以下错误:mysql:[警告]在命令行界面上使用密码可能不安全。第1行出现错误1064(42000):SQL语法中有错误;检查与MySQL服务器版本对应的手册,以了解在第1行“创建数据库”附近使用的正确语法:**[MySQL创建数据库]错误1@docker-compose exec-T mysqldb mysql-u“$(mysql\u用户)”-p“$(mysql\u密码)”-e“create database abcd”这似乎很有效。正如我所说,我对docker不太熟悉。我不知道你为什么想逃避引用,所以我认为它们是必要的,但我想不是。
include .env
help:
@echo ""
@echo "usage: make COMMAND"
@echo ""
@echo "Commands:"
@echo " mysql-create-db Create mysql database"
mysql-create-db:
@docker-compose exec -T mysqldb mysql -u"$(MYSQL_USER)" -p"$(MYSQL_PASSWORD)" -e \'create database abcd\'
mysql-create-db:
@docker-compose exec -T mysqldb mysql -u"$(MYSQL_USER)" -p"$(MYSQL_PASSWORD)" -e "'create database abcd'"