2017-02-14 10 views
0

Я пытаюсь изменить пароль пользователя, используя скрипт нижеИзменение пароля MySQL корневой пользователь, используя сценарий оболочки

#!/bin/bash 
mysql.server start 
mysql -u root << EOF 
    SET PASSWORD FOR [email protected]'localhost' = PASSWORD(‘admin’); 
EOF 

Но я получаю ниже ошибки: -

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '‘admin’)' at line 1

Вместо SET PASSSWORD команда, если будет работать что-то другое, например, если я буду использовать «create database databasename».

.

Update1:

Если я использую «admin» или «admin» вместо «admin», я получил ошибку ниже.

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '“admin2”)' at line 1

.

Update2:

При использовании флаг -e я получил ниже ошибки

./mysql.sh: line 3: syntax error near unexpected token (' ./mysql.sh: line 3: mysql -u root -padmin -e “SET PASSWORD FOR [email protected]'localhost' = PASSWORD(‘admin2’);”'

+0

'«admin'' вы можете обернуть в эти цитаты? Попробуйте '' admin ''или'' admin'' вместо – Gravy

+0

Спасибо за ответ, я думаю, проблема была вызвана редактором :) –

ответ

1

использование MySQL -e вместо:

#!/bin/bash 
mysql.server start 
mysql -u root -e "SET PASSWORD FOR [email protected]'localhost' = PASSWORD(‘admin’);" 
+0

Я думаю, что проблема возникла из-за какого-то редактора, я написал тот же скрипт, используя другой редактор, и vola ваш и мой скрипт оба будут работать. Спасибо за ответ. –