MySQLでDBアカウントに権限付与(GRANT)及び権限削除(REVOKE)する方法を説明します。
権限確認
DBアカウントが「testuser」で接続ホストが「localhost」の場合、以下のように確認します。
SHOW GRANTS FOR 'testuser'@'localhost';
FULL権限付与
「testdb」データベースに すべての権限を付与する場合
GRANT ALL ON testdb.* TO 'testuser'@'localhost';
付与して権限情報をメモリーに反映
権限付与した後に以下のコマンドをMySQLで実行してメモリーに反映します。
FLUSH PRIVILEGES;
特定テーブル「tTempData」のみSELECT, UPDATE, DELETE権限付与する場合
「testdb」データベースに すべての権限を付与する場合
GRANT ALL ON testdb.tTempData TO 'testuser'@'localhost';
「SELECT」権限のみ付与
「testdb」データベースに SELECT権限のみ付与する場合
GRANT SELECT ON testdb.* TO 'testuser'@'localhost';
「UPDATEとDELETE」権限のみ付与
「testdb」データベースに SELECT権限のみ付与する場合
GRANT UPDATE,DELETE ON testdb.* TO 'testuser'@'localhost';
特定テーブル「tTempData」のみSELECT, UPDATE, DELETE権限削除する場合
「testdb」データベースに すべての権限を付与する場合
REVOKE ALL ON testdb.tTempData FROM 'testuser'@'localhost';
「SELECT」権限のみ削除
「testdb」データベースに SELECT権限のみ付与する場合
REVOKE SELECT ON testdb.* FROM 'testuser'@'localhost';
「UPDATEとDELETE」権限のみ削除
「testdb」データベースに SELECT権限のみ付与する場合
REVOKE UPDATE,DELETE ON testdb.* FROM 'testuser'@'localhost';