使用shell脚本更改mysql root用户密码

Ana*_*har 3 mysql shell automation sh

我正在尝试使用以下shell脚本更改用户密码

#!/bin/bash
mysql.server start
mysql -u root << EOF
  SET PASSWORD FOR root@'localhost' = PASSWORD(‘admin’);
EOF
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:-

第1行的错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的“ admin”)附近使用正确的语法

如果不使用SET PASSSWORD命令,则可以使用其他方法,如使用“ create database databasename”的方法。

更新1:

如果我使用“ admin”或“ admin”而不是“ admin”,则会出现以下错误。

第1行的错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的“ admin2”)附近使用正确的语法

更新2:

当使用-e标志时,出现以下错误

./mysql.sh:第3行:意外令牌附近的语法错误(' ./mysql.sh: line 3:mysql -u root -padmin -e“为root @'localhost'= PASSWORD('admin2');”设置密码”

Ber*_*fen 7

使用mysql -e代替:

#!/bin/bash
mysql.server start
mysql -u root -e "SET PASSWORD FOR root@'localhost' = PASSWORD(‘admin’);"
Run Code Online (Sandbox Code Playgroud)