1

私はUbuntu 12.04(正確)64ビットを使用しています私はUbuntuが初めてなので、付与に問題がありますUbuntuの例で付与するために次のコマンドを使用しています

Sudo mysql -u root -p 「pass」で識別されるユーザー名を作成

Db.* に対するすべての権限をユーザー名に付与します

を使用して許可を確認する場合

ユーザー名の許可を表示

| | にすべての権限を付与します。パスワードで識別される「ユーザー名」へ |

ユーザー名としてログインすると、パスワードを要求されず、ユーザーのパスワードを入力するとパスワードなしで直接ログインし、エラーメッセージが表示されます。

sudo mysql -u ユーザー名 -p

エラー 1045 (28000): ユーザー user-name のアクセスが拒否されました (パスワードを使用: YES)

ログイン後、私が与える場合

データベースを表示します(許可されているデータベースは表示されません)

例を教えてください

また、ストアド プロシージャがルートで作成されている場合、特定のストアド プロシージャの権限を他のユーザーに付与した場合でも、他のユーザーのアクセスを取得する方法を知りたいのですが、定義者と関係がありますか?

4

1 に答える 1

2

sudoルートとしてMySQLに接続するために実行する必要はありません。

データベースを作成します。

$ mysqladmin create mydatabase -uroot -p

ルートまたは権限を付与できる別のユーザーとして接続する

$ mysql -D mydatabase -uroot -p

foouserこのまったく同じマシンからの接続を許可する

mysql> grant all privileges on mydatabase.* to 'foouser'@'localhost' identified by 'pass';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

新しいユーザーとして接続します。

$ mysql -D mydatabase -u foouser -p
Enter password: pass
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 129
Server version: 5.5.29-0ubuntu0.12.04.2 (Ubuntu)
于 2013-03-15T00:15:37.153 に答える