我正在尝试使用shell脚本更改用户密码,如下所示
#!/bin/bash
mysql.server start
mysql -u root << EOF
SET PASSWORD FOR root@'localhost' = PASSWORD(‘admin’);
EOF
但我收到以下错误: -
第1行的错误1064(42000):您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便在“&admin”附近使用正确的语法。&#39;在第1行
而不是SET PASSSWORD命令,如果使用其他东西将起作用,就像我使用&#39;创建数据库databasename&#39;会有效。
UPDATE1:
如果我使用&#34; admin&#34;或者&#39; admin&#39;而不是'admin',我得到了以下错误。
第1行的错误1064(42000):您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以便在“&#39;”“admin2”附近使用正确的语法。&#39;在第1行
UPDATE2:
使用-e标志时出现以下错误
./ mysql.sh:line 3:意外令牌附近的语法错误
(' ./mysql.sh: line 3:
mysql -u root -padmin -e“root密码设置密码@&#39; localhost&#39; = PASSWORD('admin2');“&#39;
答案 0 :(得分:3)
使用mysql -e代替:
#!/bin/bash
mysql.server start
mysql -u root -e "SET PASSWORD FOR root@'localhost' = PASSWORD(‘admin’);"
答案 1 :(得分:0)
适用于任何尝试以上但无法正常工作的人。我在终端中运行了以下内容,它起作用了! (记住设置您想要的密码;))
mysql -u root -e "SET PASSWORD FOR root@localhost = PASSWORD('mypassword')";