MySQLをぱぱっと管理したときに困らないように
データベース作成したり削除したりで困らないように、チートシート的にコピペで使えるようなものを用意しておきます。
ユーザーの新規作成・削除・パスワードを変更などはよく使うのでどこかにメモっておくといい感じ。
ユーザーの確認
ユーザーの一覧を見ます。
select User,Host, Password from mysql.user;
データベース一覧
データベース表示するには、専用コマンド show databaseを使います。
show databases ;
テーブル一覧
テーブル一覧は、専用コマンド show tabales が便利です。
use my_db; show tables ;
ユーザー作成
ユーザー作成は create user をつ使います。
create user 'your name' identified by 'your pass'
権限の追加
grant all on my_db.* to your_name@'%'
権限の確認
権限を委譲(grant) したら専用コマンドで権限の割当を確認します。
show grants for your_name;
権限の反映
データベースを作成したりユーザーを割り当てたあとは、権限(Privileges)を更新します。
FLUSH PRIVILEGES
ペアで覚える
作成と削除はペアで使うことが多いのでまとめて掲載しておきます。
データベースの作成・削除・確認
create database YOUR_DB_NAME; show databases; drop database YOUR_DB_NAME;
作成・削除と確認はペアで覚えておかないと複数個作ったり消したりしてるとパニックになるので最初に覚えること
ユーザ作成・削除
作成削除はまとめて覚えておくといいので create user と drop user はペアで掲載しておきます。
create user 'your name' identified by 'your pass' select User,Host, Password from mysql.user; select User,Host, Password from mysql.user where User like '%yourname%' drop user 'your name' drop user takuya@'hostoname'
パスワードの変更
ALTER USER 'user'@'hostname' IDENTIFIED BY 'this_is_my_new_password';
設定したパスワードを忘れた場合は、パスワードを再設定するときや紛失・盗難でパスワードを変更する必要があるとき。といっても大抵の場合では、初期設定の時点でメモを忘れてパスワードを紛失するんだけど。
権限の追加削除と確認
grant all on my_db.* to your_name@'%' revoke all on my_db.* from your_name@'%'
権限削除って余り使わないかも。Allつけておいて不要な権限だけ削除する感じ? それだったら必要な権限だけつけたら良いわけで。
root 権限をもつユーザーの作成
grant all on *.* to 'takuya'@'%' WITH GRANT OPTION;
GRANTをGRANTする。権限のGRANTを許可できるroot と同じ管理者権限を付与するには、with grant option
をつける
2020-08-04
mysql のパスワード忘れの場合の、パスワードの初期化・変更を追記。
2021-03-30
revoke に記述ミスがあったので修正。
2021-05-28
検索エンジンにこのエントリが無視されるので、微妙にキーワードを追加する。