CREATE USERとは?CREATE USER user@localhostを実行・CREATE USER user@ホスト名を実行

公開日時:   更新日時:
CREATE USERとは?CREATE USER user@localhostを実行・CREATE USER user@ホスト名を実行
基本情報技術者試験の試験対策はこちら>>

SE
CREATE USERについて教えてください。

PM
CREATE USERの起動方法などを解説します。

CREATE USERとは?


MySQLにログイン可能なユーザを作成するためのSQL文がCREATE USER文になります。以前のバージョンでは以下のSQL文でユーザの作成と権限の付与が同時に実行されました。

現行バージョンでは以下のSQL文のようにユーザの作成(CREATE USER)と権限の付与(GRANT)を別々に行います。

CREATE USERで作成したユーザを使用して動作を検証していきます。
Server version:8.0.24 MySQL Community Serverを使用して検証しています。
world databaseが存在しない場合はMySQLの公式サイトを参照しましょう。

MySQLのコマンドラインツールの起動方法

MySQLをコマンドから操作するためにWindows PowerShellを起動して以下のように実行します。

操作例)userテーブルよりデータを表示します。

CREATE USER user@localhostを実行する

ここからはCREATE USER文でlocalhost用のテストユーザを作成及び権限を付与の後ログインしてテスト用のテーブルにアクセス可能なことを確認します。localhostでPHPにてアクセスします。

ユーザを作成後権限を確認する

CREATE USER文でlocalhost用のテストユーザを作成します。

Windows PowerShellを起動してrootユーザでログイン後以下のように実行します。

world databaseにSELECT権限を付与します。

ユーザ情報を確認します。

アクセス権を確認します。

作成後のユーザからログインする

Windows PowerShellを起動して以下のように実行します。

データベースの一覧を表示します。

localhost内でphpを使ってMySQLへ接続する

以下のphpのサンプルコードでlocalhostからMySQLへ接続してみます。

Windows PowershellからCLIで実行します。

CREATE USER user@ホスト名を実行する

ここからはCREATE USER文でremotehost用のテストユーザを作成及び権限を付与の後ログインしてテスト用のテーブルにアクセス可能なことを確認します。remotehostからA5:SQL Mk-2やPHPにてアクセスします。

ユーザを作成後権限を確認する

CREATE USER文でremotehost用のテストユーザを作成します。

Windows PowerShellを起動してrootユーザでログイン後以下のように実行します。

world databaseにSELECT権限を付与します。

ユーザ情報を確認します。

アクセス権を確認します。

A5:SQL Mk-2 から MySQLにremote接続してみる

remotehostからA5:SQL Mk-2を使用してMySQLに接続します。A5:SQL Mk-2はMySQLのcaching_sha2_passwordプラグインに対応しているため、そのまま接続が可能です。

以下A5:SQL Mk-2で接続後実行した結果です。

現在ログインしているユーザを表示すると、remotehostからも接続していることがみられます。

remotehostからphpを使ってMySQLへ接続する

以下のphpのサンプルコードでremotehostからMySQLへ接続してみます。

Windows PowershellからCLIで実行します。

php7.3系列は暗号方式SHA-2を使った認証方式では接続できません。そのため承認PLUGINをcaching_sha2_passwordからmysql_native_passwordに変更します。
rootユーザでログイン後以下を実行して下さい。

再度Windows PowershellからCLIで実行します。

SE
CREATE USERの起動方法や実行の仕方がわかりました。

PM
今回紹介した方法を参考に実際にコードを書き、理解を深めましょう。

CREATE USERでUSERを作成後色々と試してみよう

いかがでしたでしょうか。ここまで CRETATE USERでlocalhost、remotehost用のUSERを作成して権限を付与後ログインやPHPによるアクセスなどを試してきました。

実際のプロジェクトでは目的に応じたUSERと権限を設計する必要もあるでしょう。事前の評価もかねて色々と試してはいかがでしょうか。


FEnetへの登録は左下のチャットが便利です 経験者優遇! 最短10秒!

.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags