1

次のmysqlステートメントを実行してデータベースを作成し、ユーザーに特権を付与した後、mysqlにアクセスできません

create database my_db;
GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd';
GRANT SELECT ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd';
FLUSH PRIVILEGES;


mysql -u user -p mypasswd drops me 
Access denied for user 'user'@'localhost'
4

3 に答える 3

1

ユーザーがローカルホストから接続するには、個別に特権を付与する必要があります。% 動作しないでしょう。

`GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd';
 GRANT SELECT ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd';`
于 2012-12-24T09:29:50.553 に答える
0

-pとパスワードの間にスペースはありません。

データベースにのみ権限を付与したので、データベースmy_dbに直接接続するためのデータベースも追加します。

mysql -u user -pmypasswd my_db
于 2012-12-24T09:25:28.213 に答える
0

私はこれを試しました:

GRANT ALL ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd';
FLUSH PRIVILEGES;

そしてその後

./mysql -uuser -pmypasswd

私のために大丈夫働いた。

そうでない場合は、localhostで試してください。

GRANT ALL ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd';
FLUSH PRIVILEGES;
于 2012-12-24T09:37:22.537 に答える