3

これが可能かどうかはわかりません。

user_db_という接頭辞が付いたデータベース名を持つデータベースのみにアクセスできる新しい mysql ユーザーを作成する必要があります。

新しいユーザーが追加されたときにデータベースuser_db_ 'userid' を作成する php アプリケーションがあります。データベースがuser_db_1user_db_2user_db_3となるように 3 人のユーザーが作成されたとします。

user_db_1user_db_2user_db_3、.....、user_db_nのみにアクセスできるuser_accountsという新しいユーザーを作成する必要があります。

4

3 に答える 3

6

特定の DB に対する権限を付与するには、次のコードを使用します。

grant all privileges on DB_NAME.* to 'USER'@'REMOTE_IP' identified by 'PASSWORD';
于 2013-01-08T09:04:02.843 に答える
2

3つのステップがあります

  1. データベースの作成
  2. 新しいユーザーを作成
  3. grant all コマンドで権限を与える

このような

CREATE DATABASE DBTEST

これがエラーなしで正常に実行された場合は、新しいユーザーを作成します

CREATE USER 'NEWUSER'@'LOCALHOST' IDENTIFIED BY 'NEWUSERPASSWORD'

ユーザー作成後、create table drop table の権限を与える

GRANT ALL PRIVILEGES ON *.* TO 'NEWUSER'@'LOCALHOST'

そして結局、1つのコマンドを与えます

FLUSH PRIVILEGES

2015 年 3 月 31 日更新(コメントに記載されているとおり)

このように特定のデータベースに権限を与えることができます

GRANT ALL PRIVILEGES ON DBTEST.* TO 'NEWUSER'@'LOCALHOST
于 2014-06-12T10:28:27.470 に答える
0

私見あなたはの組み合わせを使用することができます

SHOW DATABASES LIKE 'user_db_%'

ユーザーデータベースの現在のリストを取得する

CREATE USER 'username'@'hostname' ...

ユーザーを作成し、

GRANT ALL ON user_db_N.* TO 'username'@'hostname'

から取得する各データベースのユーザーにデータベース権限を設定しますSHOW DATABASES

于 2013-01-08T05:32:31.937 に答える