【发布时间】:2017-07-02 14:17:39
【问题描述】:
我正在尝试使用下面的 shell 脚本更改用户密码
#!/bin/bash
mysql.server start
mysql -u root << EOF
SET PASSWORD FOR root@'localhost' = PASSWORD(‘admin’);
EOF
但我遇到以下错误:-
ERROR 1064 (42000) at line 1:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“admin”) 附近使用正确的语法
如果使用其他东西而不是 SET PASSSWORD 命令,如果我使用“创建数据库数据库名称”将起作用。
.
更新1:
如果我使用“admin”或“admin”而不是“admin”,则会出现以下错误。
ERROR 1064 (42000) at line 1:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“admin2”) 附近使用正确的语法
.
更新2:
使用 -e 标志时出现以下错误
./mysql.sh:第 3 行:意外标记附近的语法错误
(' ./mysql.sh: line 3:mysql -u root -padmin -e “SET PASSWORD FOR root@'localhost' = PASSWORD('admin2');”'
【问题讨论】:
-
‘admin’你能用这些引号括起来吗?改用"admin"或'admin' -
感谢您的回复,我认为问题是由于编辑 :)
标签: mysql shell automation sh