MySQLで行うユーザーの作成について
1 |
GRANT ALL PRIVILEGES ON データベース名.* TO ユーザー名@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION |
これですが、一つのデータベースに対して行うとhost内のユーザーすべてが切り替わってしまいます。
例えばdb1 に対してsampleというユーザーが存在しており、パスワード aaaaでつないでいるとします。
同じサーバーでdb2というデータベースを作成し、下記コマンドを打ったとします。
1 |
GRANT ALL PRIVILEGES ON db2.* TO sample@localhost IDENTIFIED BY 'bbbb' WITH GRANT OPTION |
この場合、db1につないでいるsampleユーザーの情報が切り替わってしまいdb1がつながらなくなってしまいます。
これで軽いトラブルが起きたので要注意です・・・・
もう一つちょいネタ。
カラム名なんかを検索したいときはinformation_schema.columsを見ればOKです。
例えば下記のようなコマンドを使えば対象のカラム名を含むテーブルを検索したい場合は下記のようにSQLを投げてあげればOKです。
1 |
select table_name, column_name from information_schema.columns where column_name = '検索したいカラム名' and table_schema = '検索対象のデータベース名'; |