奇妙なエラーがあります。コマンドライン経由でルートとしてローカル Mysql にログインしています。データベースの作成後:
create database some_db;
次に、一部のユーザーに特権を付与します。
grant all privileges on some_db.* to some_user@'localhost' identified by 'password';
これはエラーを出しています:
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'some_db'
ルートのアクセス許可 (show grants;) は次を示します。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*8919C53DC7A4DFBF3F8584382E96463583EB7FDA'
また、root としてログインしていることも確認しています。
select current_user();
そして、これは私が「root」@「localhost」としてログインしていることを確認します
データベースを作成してユーザーを複数回割り当てましたが、問題はありませんでした。root としてログインしているときに、root によって作成されたデータベースにユーザーを割り当てることができないのはなぜですか?
ps 他の投稿から、奇妙なユーザーが原因で問題が発生した可能性があると考えています
select host, user from mysql.user;
追加していないが表示される一部のユーザー:
MY_COMPuTER_name.local | ''
MY_COMPuTER_name.local | root
これらのユーザーを削除しようとしました
drop user 'root'@'MY_COMPuTER_name.local';
drop user ''@'MY_COMPuTER_name.local';
ただし、クエリの実行が成功したと示されていますが、特権をフラッシュした後でもユーザーは削除されません。ユーザーを削除できないのはなぜですか? どんな助けも大いに適用されます