create database `database1` DEFAULT CHARACTER SET utf8;
CREATE USER 'user1'@'localhost' IDENTIFIED BY '***';
GRANT USAGE ON *.* TO 'user1'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES ON `database1`.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;
user1ではdatabase2や3にはアクセスできない権限にしたいのですが、どのようにすればよいでしょうか。
MySQL 5.6.14
コメント(2件)
もう一度「CREATE USER 'mysqluser'@'localhost' IDENTIFIED BY '*****';」だけ実行して別のユーザーを作成し、新規に作成したユーザーでのアクセス状態を確認してみてはいかがでしょう?
※mysqlデータベースのuserおよびdbテーブルを確認して、各ユーザーの権限状態を確認して置くといいと思います。
・MySQL 特定DBへのみアクセス可能なユーザの作成
http://wiki.bit-hive.com/tomizoo/pg/MySQL%20%C6%C3%C4%EADB%A4%D8%A4%CE%A4%DF%A5%A2%A5%AF%A5%BB%A5%B9%B2%C4%C7%BD%A4%CA%A5%E6%A1%BC%A5%B6%A4%CE%BA%EE%C0%AE
FLUSH PRIVILEGES;
だけですと
information_schema
以外にも見えるデータベースが有りました。
どうもデータベース自体が、だれでもアクセスできる様になっているみたいです。