我正在尝试从外部文件执行mysql,这就是我正在做的事情:
mysql -u "root" -p < "init.sql"
#calling in terminal
尝试过这样的事情:
init.sql内容:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
但最终会出现:第5行的ERROR 1396(HY000):'myuser'@'hosthost'的操作CREATE USER失败
当阅读帖子时,建议先删除用户:
init.sql内容:
DROP USER 'myuser'@'localhost';
FLUSH PRIVILEGES;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
但是我收到错误:第3行的错误1396(HY000):'myuser'操作DROP USER失败@'localhost'
这是正常的,因为用户不存在。如果我只是在命令行中粘贴这些工作流程,而不是通过bash,则此工作流程可以正常工作。
答案 0 :(得分:0)
您不需要外部文件,而是使用bash
here-docs。
mysql -u "root" -p <<EOF
DROP USER 'myuser'@'localhost';
FLUSH PRIVILEGES;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
EOF