コマンドやphpMyAdminで複数のデータベースに接続できるユーザーを作成する方法
MySQLの接続ユーザーに、新たに別のデータベースに特権を付与するやり方をコマンドとphpMyAdminそれぞれの方法で説明します。
[参考記事] CakePHPで複数のデータベースを切り替える方法(別データベースを使用する)
別のデータベースに新たに特権を付与する方法
特定のデータベースから特権を削除する方法
ユーザーを削除する方法
別のデータベースに新たに特権を付与する方法
SQLコマンド
GRANT 【特権】 ON `【データベース名】` . * TO 【ユーザー名】@【ホスト】;
他のユーザーを操作できる権限を与える(権限委譲)には『WITH GRANT OPTION』を付けます。
GRANT 【特権】 ON `【データベース名】` . * TO 【ユーザー名】@【ホスト】 WITH GRANT OPTION;
例
全てのホストなら GRANT SELECT , INSERT , UPDATE , DELETE ON `common¥_db` . * TO 'test_user'@%; ローカルホストなら GRANT SELECT , INSERT , UPDATE , DELETE ON `common¥_db` . * TO 'test_user'@'localhost'; 権限委譲するなら GRANT ALL PRIVILEGES ON `common¥_db` . * TO 'test_user'@'localhost' WITH GRANT OPTION;
注意:全てのホストとローカルホストはそれぞれ別の権限です。
『 _(アンダーバー)』が含まれるときはワイルドカードになるので¥でエスケープします。
phpMyAdmin
phpMyAdminのトップから『特権』を選択します。
(データベースの画面からではありません)
ユーザーを選択して、『操作』から『特権を編集』ボタンをクリックします。
『データベースに固有の特権』から『データベースに特権を追加』で新たに特権を付与するデータベースを選択します。
付与する特権を選択して『実行する』ボタンをクリックします。
不正利用などのトラブルを防ぐために、なるべく最低限の権限のみを与えるようにします。
特定のデータベースから特権を削除する方法
SQLコマンド
特権を削除するコマンドは『REVOKE』です。
REVOKE ALL PRIVILEGES ON `common¥_db` . * FROM 'test_user'@'localhost';
権限委譲されているなら次のコマンドも実行します。
REVOKE GRANT OPTION ON `common¥_db` . * FROM 'test_user'@'localhost';
phpMyAdmin
『データベースに固有の特権』から権限を削除するデータベースの『操作』から『取り消し』ボタンをクリックします。
ユーザーを削除する方法
SQLコマンド
DROP USER 'test_user'@'localhost';
phpMyAdmin
削除したいユーザーにチェックを入れて、『実行する』ボタンをクリックします。
関連記事
- Seedの実行順(外部キー制約などを先に実行させる方法) Foreign key violation
- EC-CUBE2系で商品を大量にカートに入れると注文情報が抜けたりカートが消えたりする
- yumのius(iuscommunity.org)でエラーが出る場合
- iusリポジトリで公開されているパッケージの一覧
- phpMyAdminでログイン画面を出さずにデータベースに接続する方法
- MySQLやMariaDBは標準ではログローテートされない
- MySQL(MariaDB)をユーザー情報を含めてすべて移行する方法
- 4.0以前と4.1以降のパスワード方式の違い
- CakePHPでカラムを比較してSELECTする方法
- 『Table is marked as crashed and should be repaired』の修復方法
- phpMyAdminで『information_schema』などを非表示にする方法
- PDO_MYSQLをインストールする方法
- 日付型のフォーマットにスラッシュを使ってはいけません(文字コードによって値が変わる)
- MySQLでdatetime型(日時)を日付で抽出するSQLの速度比較
- データベースを定時バックアップする方法(毎日バックアップする処理)
- MySQL関数のまとめ
- MySQLの処理を停止させる方法
- MySQLサーバに接続できるかどうかを確認する
- 複数のデータベースを切り替える方法(別データベースを使用する)
- MySQLで文字化けを防ぐ方法
- 別テーブルでSELECT JOINしながらUPDATEする方法(SELECTした結果でUPDATEする)
- OpenPNE3のデータベースの設定
- MySQLのログファイル ログの種類と保存先
- 文字コードを指定する方法
- LIMITで件数制限をしつつ、全件数を取得する方法 SQL_CALC_FOUND_ROWS FOUND_ROWS()
- SQL Buddy ブラウザベースのMySQL管理ツール
- Got a packet bigger than 'max_allowed_packet' bytes
- CakePHPのDB接続情報設定
- SQL文で特定の曜日のみ抽出するには
- OpenPNE3のサーバ移行の方法
- EC-CUBEのサーバ移行の方法
- EC-CUBEのバックアップ機能とリストア
- EC-CUBEでMySQLデータベースのデータ取得で文字化けするときの対処法
- symfonyのORマッパ(Propel、Doctrine)
- Ruby on Railsのマイグレーションの型とMySQLの型の対応表
- MySQLでランダムな数字を得る方法
- MySQLでBeep音を消す設定
- Zend_DBのSELECTメソッドのまとめ
- Zend_DBの基本
- MySQLでクエリーをログに記録する方法
- MySQLのインストール
- Zend Frameworkのデータベース接続
- WordPressのインストール
- DB設計を見直してEC-CUBEを高速化する
- WindowsでMySQLを再起動する方法
- レコード挿入時の #1364 - Field doesn't have a default value
- オフセットの後半になると急に遅くなる MySQLの高速化
- Beep音を無効にする
- MySQL Query Browser 本家GUIツール
- CSE(Common SQL Environment) SQL便利ツール
- Symfony PropelでのMySQLの設定方法
- MySQLのソケットエラー
- utf8_general_ci と utf8_unicode_ci の違い
- 文字列型(データ型)のまとめ
- 日付と時刻型(データ型)のまとめ
- 数値型(データ型)のまとめ
- 個体識別情報・UIDの取得方法
- Windows MySQLインストール後の設定
- Windows MySQLのインストール
スポンサーリンク