2012-05-10 1 views
0

誰でも私がコマンドを実行した後にこのエラーが出る理由を教えてください。
誰でもこのbashスクリプトをデバッグしてmysql dbとuserを作成できますか?

[email protected]:/home# ./dbcreate.sh db_team1 team1 team1password 
ERROR 1133 (42000) at line 1: Can't find any matching row in the user table 

これは私が使用しているスクリプトです。

#!/bin/bash 

MYSQL=`which mysql` 
ROOTPASSWD=mypassword 

Q1="CREATE DATABASE IF NOT EXISTS $1;" 
Q2="SET PASSWORD FOR '$2'@'localhost'= PASSWORD('$3');" 
Q3="GRANT ALL PRIVILEGES ON $1.* TO '$2'@'localhost' IDENTIFIED BY '$3';" 
Q4="FLUSH PRIVILEGES;" 
SQL="${Q1}${Q2}${Q3}${Q4}" 

# Usage: $0 dbname dbuser dbpass" 

$MYSQL -u root -p$ROOTPASSWD -e "$SQL" 
+0

ユーザー 'team1'は存在しますか? – jimw

答えて

0

代わりに、最後にこれを試してみてください問題を解決する必要があるデータベース

CREATE USER [email protected] IDENTIFIED BY 'your_user_password'; 

にユーザーを関連付けるしようとする前に、ユーザー作成のステートメントを追加します。

echo "$ SQL" | mysql -u root -p

関連する問題