phpMyAdmin 4.9.0.1 (MariaDB 10.4.6)
— y2sunlight 2019-10-09
関連記事
リンク
以下「MySQL」は「MariaDB」に読み替えて下さい。
phpMyAdmin は WebブラウザでMySQLの管理や操作が行えるツールです。phpMyAdmin は、その名前が示しているようにPHPを使って作られており、データベースへのアクセスにはPHP 拡張モジュールのMySQLiが使用されています。phpMyAdmin はブラウザさえあれば開発環境と実行環境の両方で使えるので、是非とも使い方を覚えておきたいツールの1つです。
phpMyAdmin は XAMPP をインストールすると直ぐに使うことができます。ブラウザで以下のURLにアクセスして、XAMPPのダッシュボードを表示して下さい。
http://localhost/
■ 画面上部メニュー[phpMyAdmin]をクリックします。
■ phpMyAdmin の主な機能には以下のものがあります。
本編では、phpMyAdmin の設定方法とデータベースとユーザの作成方法について説明します。phpMyAdmin の全般的な使い方は以下のサイトに詳しく説明されています。
https://www.dbonline.jp/phpmyadmin/ — phpmyadminの使い方(日本語)
XAMPPでphpMyAdmin をインストールすると以下の場所に設置されます。
{XAMPP Install Folder}\phpMyAdmin\
phpMyAdmin の設定は以下のファイルで行います。
phpMyAdmin に関するApacheの設定は、httpd.conf からインクルードされている以下のファイル内にあります。
{XAMPP Install Folder}\apache\conf\extra\httpd-xampp.conf
Alias /phpmyadmin "D:/usr/xampp7.2.22/phpMyAdmin/" <Directory "D:/usr/xampp7.2.22/phpMyAdmin"> AllowOverride AuthConfig Require local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory>
この辺りの設定は変更の必要はないでしょう。
XAMPPでインストールしたPHPの設定ファイルphp.iniの中に、phpmyadmin で必要なPHPの拡張 mbstring と mysqli の設定があります。
{XAMPP Install Folder}\php\php.ini
extension=mbstring extension=mysqli extension=pdo_mysql
この辺りも変更の必要はないでしょう。
phpMyAdminに関する設定はconfig.inc.phpで行います。このファイルはphpMyAdminのインストールディレクトリにあります。本編の場合は、次の場所にあります。
{XAMPP Install Folder}\phpMyAdmin\config.inc.php
以下では、config.inc.php の最低必要な設定項目のみ説明します。phpMyAdminの設定方法(config.inc.php)については、phpMyAdminインストールディレクトリ下の次のHTMLドキュメントに記載されています。
config.inc.php に記載されている順に主な項目について説明します。
$cfg['blowfish_secret'] = '適当なパスフレーズ ';
この設定項目はcookie認証でパスワードを暗号化する場合に使用します。cookie認証を使用しない場合は設定する必要はありません。64文字以内の適当パスフレーズを入力して下さい。
/* * Servers configuration */ $i = 0; /* * First server */ $i++; /* Authentication type and info */ $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; $cfg['Servers'][$i]['AllowNoPassword'] = true;
phpMyAdminでは複数のMySQLサーバにアクセスする事ができます。上の設定は第1のサーバに対するものです。config.inc.phpには第2、第3 のサーバに対する設定もできますが、サーバのホスト名を設定しないと有効な設定とは見なされません。(以下の「ホスト名の設定」を参照)
auth_type は認証の種類を設定します。デフォルトは config です。
auth_type が config の時、user と password が使用されます。AllowNoPasswordは、パスワードなしでログインを許可するか否かを指定します。デフォルトは false です。
$cfg['Servers'][$i]['extension'] = 'mysqli';
MySQLにアクセスする為に使用するPHP拡張モジュールを選択します。通常は mysql または mysqliです。(mysqli の使用が推奨されています)
/* Bind to the localhost ipv4 address and tcp */ $cfg['Servers'][$i]['host'] = '127.0.0.1';
MySQLサーバーのホスト名またはIPアドレスを指定します。ホスト名 localhost は MySQLによって特別に処理され、ソケットベースの接続プロトコルとして使用されます。TCP/IPでローカルホストを使用する場合には、127.0.0.1 (IPアドレス)を使用して下さい。
$cfg['Servers'][$i]['connect_type'] = 'tcp';
バージョン4.7.0から非推奨です。MySQLは host に基づいて接続タイプを決定するため、この設定は不要です。
変更後はApacheを再起動して下さい。
phpMyAdminを起動し、[データベース]タブをクリックします。
■ データベース名と照合順序を入力し、[作成]をクリックします。
入力例
データベース名 | sunlight_db |
---|---|
照合順序 | utf8_bin |
■ ここで指定する照合順序は、データベースで使用する既定の照合順序です。照合順序は検索時(SELECT句)に指定することもできます。UTF8 には良く使われる3つの照合順序があります。これらの違いは、日本語のゆらぎをどこまでカバーするのかによります。
utf8_bin | バイナリ照合。大文字・小文字など区別する |
---|---|
utf8_general_ci | 大文字・小文字を区別しない |
utf8_unicode_ci | ひらがな・カタカナなども区別しない |
https://dev.mysql.com/doc/refman/5.6/ja/charset-binary-collations.html
データベースユーザの作成
sunlight_db 上記で作成したデータベースにフルアクセスできるユーザアカウントを作成します。
■ 左のペインからデータベース(sunlight_db)を選択し、[特権]タブをクリックします。
■ [ユーザアカウントを追加する]をクリックします。
■ 必要なデータ情報を入力し、画面一番下の[実行]をクリックします。
入力例
ユーザ名 | テキスト入力項目の値を利用する: | sunlight |
---|---|---|
ホスト名 | ローカル | localhost |
パスワード | テキスト入力項目の値を利用する: | パスワードを入力します |
再入力 | パスワードを再入力します | |
認証プラグイン | ネイティブMySQL認証 | |
特権の付与 | データベースへの全ての特権を与える |
■ 同じユーザでローカルホストからだけでなく、LAN内の他のホストからアクセスしたい場合は、ホスト名だけを「全てのホスト(%)」に変えて、もう一度同じユーザに特権を与えます。
ホスト名 | すべてのホスト | % |
---|
データベースユーザを作成すると、[特権]タブの一覧にそのユーザが表示されます。