簡體   English   中英

從終端中的外部sql文件執行mysql命令

[英]Executing mysql commands from an external sql file in terminal

我正在嘗試從外部文件執行mysql,這就是我在做什么:

mysql -u "root" -p < "init.sql" #在終端中調用它

嘗試過這樣的事情:

init.sql的內容:

 CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';

但這最終導致:第5行的錯誤1396(HY000):“ myuser” @“ localhost”操作CREATE USER失敗

閱讀建議先刪除用戶的帖子時:

init.sql的內容:

DROP USER 'myuser'@'localhost';

FLUSH PRIVILEGES;

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';

但我收到一個錯誤:第3行的錯誤1396(HY000):'myuser'@'localhost'的DROP USER操作失敗

這是正常的,因為用戶不存在。 如果僅將這些內容粘貼到命令行中,而不是通過bash粘貼,則此工作流程將完美工作。

您不需要外部文件,而為此使用bash here-docs

mysql -u "root" -p <<EOF
DROP USER 'myuser'@'localhost';
FLUSH PRIVILEGES;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
EOF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM