MySQLのユーザー名を変更する場合にはRENAME USER
文を利用します。
RENAME USER oldman@localhost TO youngman@localhost;
使い方
基本的な使い方
最初に来るのが旧ユーザー、後ろで指定しているのが新ユーザーの名称です。アットマーク(@)から後ろを省略した場合は@'%'
と同じ意味になります。
RENAME USER (旧ユーザー) TO (新ユーザー);
ログイン元の変更
ログイン元のホストも同時に変更できます。ユーザー名はそのままでホスト名だけの変更も可能です。
RENAME USER oldman@localhost TO youngman@127.0.0.1;
権限やパスワードは引き継がれる
SELECTとINSERTが付与されたユーザーの名前とホストを変更します。
mysql> show grants for katsube@localhost;
+------------------------------------------------------+
| Grants for katsube@localhost |
+------------------------------------------------------+
| GRANT SELECT, INSERT ON *.* TO 'katsube'@'localhost' |
+------------------------------------------------------+
ユーザー名とホストを変更しました。
RENAME USER katsube@localhost TO makito@127.0.0.1;
新ユーザーを見ると権限が引き継がれているのがわかります。
mysql> show grants for makito@127.0.0.1;
+-----------------------------------------------------+
| Grants for makito@127.0.0.1 |
+-----------------------------------------------------+
| GRANT SELECT, INSERT ON *.* TO 'makito'@'127.0.0.1' |
+-----------------------------------------------------+
MySQLクライアントを一度終了し、もう一度ログインするとパスワードも同じものが利用できるのが確認できます。
mysql> \q
$ mysql -u makito -p
参考ページ
このブログを応援する
お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。