私はMySQLユーザー作成手順を自動化しようとしています。 私はその後、私はこのようにそれを呼び出す必要があります 、mysqlユーザの作成ステートメントを含んでいるでしょう一時ファイルを作成するものと考える:Mysqlユーザー作成スクリプト
のmysql -u rootが<一時
を-prootしかし、私は、MySQLの構文でこだわっています:
DROP DATABASE IF EXISTS mytestdatabase;
CREATE DATABASE mytestdatabase;
SELECT @password:="my password";
DELETE FROM mysql.user WHERE Host='localhost' AND User='mytestdatabase';
GRANT ALL PRIVILEGES ON mytestdatabase.* TO 'mytestdatabase'@'localhost' IDENTIFIED BY PASSWORD '@password';
FLUSH PRIVILEGES;
しかしライン: ここに私の一時ファイルの内容です私はそれがあることが期待どおり
GRANT ALL PRIVILEGES ON mytestdatabase.* TO 'mytestdatabase'@'localhost' IDENTIFIED BY PASSWORD '@password';
解釈されない(パスワードハッシュは、41桁の16進数があるべきです)。 @passwordタグの前後に一重引用符を削除しても、エラーが発生します(構文エラー)
どうすればこの問題を解決できますか?
エラーメッセージは何ですか? –
エラー1372(HY000)9行目:パスワードハッシュは41桁の16進数でなければなりません – ling