XAMPPのMariaDB(MySQL)を管理するためHeidiSQLを導入する

この記事は、「[【連載】初めてのWindows用Laravel 5.7開発環境構築入門](https://qiita.com/hitotch/items/a646972fe1992611e92b)」の孫記事です。環境などの条件は、親記事をご覧ください。
この記事は、「[XAMPPでPHP＋MariaDB(MySQL互換)環境を構築する 2018年12月版](https://qiita.com/hitotch/items/0e1751ef38f83a9f3bf4)」の子記事です。
XAMPPではMariaDBがMySQLと表示されているため、記事タイトルでは併記しています。

---
　今回はMariaDBを管理しやすくするため、HeidiSQLを入れます。
　MySQL Workbenchを使わないのは、MariaDBと接続したときにユーザーが作れないなどの致命的なエラーが出るためです。（[MariaDBのサイトには使えるって書いている](https://mariadb.com/kb/en/library/guiworkbench-for-mariadb-aria/)のに。）
　ほかのツールは有料だったりします。有料ツールもいいのですが、今回は無料ツールで固める方向で進めてみます。なお私個人的にはNavicatを愛用しています。しかしHeidiSQLでも十分実用に耐えると思います。

# HeidiSQLをインストールする

　以下のリンクから、HeidiSQLをダウンロードします。
　[HeidiSQL](https://www.heidisql.com/)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/52f3caa5-fca5-5520-0c99-e6fce735bea7.png)

HeidiSQLのサイトにあるDownloadsページに入って、Installer, 32/64 bit combined (インストーラ、32/64ビット共用)をクリックし、ダウンロードします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/104deb84-4cfd-098b-a90a-2a23c5f87db8.png)
ダウンロードが終わったら、実行します。
基本的にはデフォルト設定のまま進めて大丈夫です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/dea2f471-2ae4-13c3-2984-fe0f1c616c0c.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/88b0ff47-df8a-e388-305e-30d6c24659b4.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/e143ca3c-8cb4-92c9-2661-7546c35a79ad.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/93c6ba07-c6a8-95b2-78ab-8cdbd6a868b4.png)
追加タスクの選択は好みですが、上から以下のような意味になっています。

- デスクトップにアイコンを作る
- .SQLファイルをHeidiSQLに関連付けする
- 自動的にhttp://www.heidisql.com/ でアップデートをチェックする
- 自動的にhttp://www.heidisql.com/ にクライアントやサーバーのバージョンを報告する

![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/346b3f8d-8bde-6886-464e-ca89510b1401.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/96163b13-1de6-5807-9807-1890ceccf6f3.png)
インストールが終わったら、Launch HeidiSQLにチェックを入れたまま完了します。
HeidiSQLが起動したらOKです。

# HeidiSQLにローカルDBのセッションを作る

![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/d517c681-95bb-20bd-1d32-cba98073b410.png)
起動したら左ペインにセッション名一覧が空の状態で表示されます。セッションとは、接続という意味で理解してよいでしょう。
今回はローカルホストのセッションが必要になりますので、新規ボタンを押してセッションの作成を開始します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/9121b037-b5a4-51b7-7a38-d6fd4e903047.png)
ネットワーク種別の選択肢にはMariaDBがないですが、MySQLでOKです。
あとは以前作ったrootユーザーのIDとパスワードを入れて、開くをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/e2bb121f-2911-6f11-c0bd-ffef3e782afd.png)
左ペインにローカルDBサーバーのデータベース一覧らしきものが出ますが、これが見えればローカルのMariaDBに接続できています。
現在セッションがUnnamed（名無し）になってますので、名前を付けましょう。
まず切断ボタンを押して、Unnamedセッションを切断します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/59208c1f-f624-1ee4-230a-74b63b90c733.png)
セッションマネージャーに戻るので、Unnamedセッションを右クリックして、Rename（名称の変更）をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/44c98072-68b2-750f-e8bd-85d69a0d4e18.png)
わかりやすくLocalhostという名称にしておきましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/df92a6ec-1ca8-938b-21f4-0c74cd1e4069.png)
また、さっき入力したパスワードは消えてしまっていますので、もう一度入力し、今度は「保存」しておくことにしましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/62db0ca1-4590-eeef-52cc-14ff2975c136.png)
これで「開く」をクリックすると、Localhostという名称でセッションが開きます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/95f61c2f-b923-90b1-7365-16c4c32105db.png)

# PHPプログラムで使うMariaDBユーザーを作成する

　これまでの操作で、MariaDBにはrootユーザーのみが登録されています。（例外的にシステムユーザーなども登録されていますが）
　rootユーザーは全体管理のためのユーザーであり、PHPプログラムで利用するユーザーとしては不適切です。PHPプログラムで使うためのユーザーを作って、それを使うことにします。

- ユーザー名は、phpuserとする。
- パスワードは、phpとする。

まず、ユーザー認証と特権の管理を開きます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/6f1c3b42-eea0-389d-b282-20fda8eaa587.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/70db28f5-dd82-4000-1332-9693e3100e71.png)
ユーザーマネージャーが開くので、「追加」ボタンで新しいユーザー登録画面に入り、ユーザー名、ホスト（今回はlocalhost）、パスワードを入力。
今回は開発用なのでグローバル特権にチェックを入れて保存。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/6fba8c3d-51d0-cd79-2ef5-124b4ec64561.png)
phpuserが登録されたらOKです。

# 新しいユーザーがMariaDBにアクセスできることを確認する

一旦、ローカルホストの接続を解除します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/2db5e969-c43c-d510-66e5-b232eaa26f6a.png)
Localhostのユーザーとパスワードを、それぞれphpuser、phpとして、（「保存」せずに）「開く」を押します。この時保存をしないことで、次にセッションを始めるときはrootユーザーに戻ります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/fee7a64f-cfb9-0e4a-c76a-0ce5d9630287.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/67e3be08-30f0-f9b6-e121-37d30378dc7f.png)
接続できたらOKです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/315589/903e9ddd-4eea-0a0d-1734-81ebf1468a3e.png)