MySQL のアカウントを作成する (Windows 版)

ページ作成日 :

動作確認環境

MySQL
  • MySQL 8.4
MySQL Workbench
  • 8.0
Windows
  • Windows Server 2022

動作必須環境

MySQL
  • MySQL 8.4
MySQL Workbench
  • 8.0
Windows
  • Windows 11
  • Windows 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016

前提条件

  • MySQL がインストールされていること
  • MySQL Workbench を使用する場合は MySQL Workbench がインストールされていること
  • MySQL データベースに接続できることを確認していること

root アカウントについて

root アカウントはデータベースに対してほぼ全てのアクセスが可能なアカウントです。 初期状態ではローカルからしかアクセスできませんが、設定を変えれば外部からもアクセス可能です。 ただ権限が強くセキュリティのリスクが高まるので外部から接続させたい場合は別途アカウントを作成した方がよいです。

MySQL Workbench でアカウントを作成する

スタートメニューから「MySQL > MySQL Workbench」を選択します。

MySQL に接続するコネクションを選択します。ない場合は追加しておいてください。 接続パスワードを保存していない場合はパスワードの入力が求められます。

「Nevigator」ペインの「Administration」タブから「Users and Privileges」を選択します。

アカウント一覧が表示されます。アカウントを追加するには「Add Account」ボタンをクリックします。

以下のダイアログが表示されることがありますが OK ボタンをクリックします。

[ウィンドウ タイトル]
MySQL Workbench
[メイン インストラクション]
無効な認証プラグイン
[コンテンツ]
ユーザー newuser@% のプラグイン タイプは None ですが、これはサーバーによって既知の認証プラグインとしてリストされていません。

「Login」タブでは以下を入力します。

項目名 入力内容
Login Name アカウント名を入力します。データベースに接続する際のユーザー名など使われることは多いです。英字の場合は小文字に変換されます。
Limit to Hosts Matching 接続可能なホスト名を入力します。localhost の場合ローカルからしか接続できません。% の場合ネットワーク内全てから接続できます。192.168.%.% と入力すれば 192.168.0.0192.168.255.255 の PC から接続できるようになります。IPv6 で接続される場合は注意が必要です。
Password 作成したアカウントで接続するためのパスワードを入力します。一部の記号はエスケープが必要になるので注意してください。

「Account Limits」タブでは全ての項目に 0 を入力してください。 本来デフォルトで入ってるはずなのですが入ってないときもあります。 空の状態で登録しようとしてもエラーになります。

「Administrative Roles」は MySQL 全体に対する権限の付与です。 強力な権限なので最低限必要な場合のみ設定してください。

「Schema Privileges」はスキーマ単位で設定する権限です。スキーマを作成した後に設定します。 こちらはスキーマの範囲を超えて権限が影響することはありません。

全ての設定が終わったら右下の「Apply」ボタンをクリックします。 これらの設定は後で変更することも可能です。

一覧に追加されます。

アカウントを削除する場合は「Delete」ボタンで実行できます。

コマンドでアカウントを作成する

ここではユーザーを作成するところまでを説明します。 権限や細かなパラメータを設定するところは長くなってしまうので説明しません。

スタートメニューから「MySQL > MySQL 8.4 Command Line Client」を選択します。

管理者のパスワードを入力します。

以下の SQL を入力します。ユーザー名とパスワードは任意に設定してください。 SQL は複数行入力可能なので最後にセミコロンが必要です。 実行して OK なら完了です。

CREATE USER test_user2 IDENTIFIED BY 'password';

デフォルトではホスト名は % になります。初めからホスト名も設定する場合は以下のよう @ マークを付けて後ろにホスト名を入れます。

CREATE USER 'test_user3'@'192.168.0.%' IDENTIFIED BY 'password';

作成したアカウント一覧は以下のコマンドで確認できます。

SELECT Host, User FROM mysql.user;

ホスト名を変更する場合は以下のコマンドを実行します。

RENAME USER '現在のユーザー名'@'現在のホスト名' to '新ユーザー名'@'新ホスト名';

特定の IP アドレスからアクセスできるようにするには以下のようにします。

RENAME USER 'test_user2'@'%' to 'test_user2'@'192.168.%.%';

アカウントを削除するには以下のような SQL を実行します。ホスト名も必要です。

DROP USER 'test_user3'@'192.168.0.%';