8

MySQL テスト データベースに 2 人のユーザーを作成したいと考えています。1 人はレポートの生成などに関連するテーブルへの読み取り専用アクセス権を持ち、もう 1 人は同じテーブルへの読み書きアクセス権を持ちます。これは、通常は読み取り専用ユーザーに接続するサブシステムをテストするためのものですが、特定のタスクでは読み取り/書き込みユーザーに切り替えます。正しい権限を持つ読み取り/書き込みユーザーを作成しましたが、今度は同じユーザーの読み取り専用バージョンが必要です。

多くの権限を設定する必要があり、かなり面倒だったので、読み取り専用バージョンを最初から作成したくありませんでした。既存のユーザーに基づいて新しいユーザーを作成し、新しいユーザーから INSERT/UPDATE/DELETE 権限を削除する方法はありますか? 似たようなCREATE USER 'user2' LIKE 'user1'ものですか?これが可能であれば、MySQL ドキュメントで見つけることができませんでした。

4

2 に答える 2

9

別のテーブルに挿入して列を更新するのはどうですか? 何かのようなもの:

CREATE TABLE user_tmp LIKE user;
INSERT INTO user_tmp SELECT * FROM user WHERE host ='localhost' AND USER ='root';
UPDATE user_tmp SET user = 'readonlyuser', Insert_priv = 'N', Update_priv = 'N',
    Delete_priv = 'N', /* TODO: ADAPT TO YOUR SUITS */ LIMIT 1;
INSERT INTO user select * FROM user_tmp;
DROP TABLE user_tmp;
于 2012-11-02T16:37:50.237 に答える