phpMyAdminをインストールしMySQLに接続する方法
MySQLの操作をブラウザから行えるphpMyAdminのインストールの仕方とMySQLへの接続方法をご紹介します。特に初めてインストールしてログインしようとした場合にエラーが出ることがありますが、その対応方法についても解説しています。
[このページの内容]
インストール方法
(1)phpMyAdmin公式サイトのダウンロードページを開きます。
phpMyAdminダウンロードページ(公式サイト)
以下のようなページが開きますので、zipファイルをダウンロードします。PHPのバージョンとMySQLのバージョンによって、ダウンロードするファイルが違ってきますのでご注意ください。
なお、今回はPHP 7.3、MySQL 8.0.15、phpMyAdmin 4.8.5を用いて構築しました。phpMyAdmin 4.8.5はPHP7.2までの対応、という記載がありましたが、PHP 7.3でも問題なく動きました。
(2)ダウンロードしてきたzipファイルを解凍します。できたフォルダphpMyAdmin-4.8.5-all-languagesをApacheのhtdocsフォルダに丸ごと入れます。
phpMyAdmin-4.8.5-all-languagesだとフォルダ名が長いので、phpMyAdmin-4.8.5やphpMyAdminとしておくと使いやすいです。
なお、Apacheのインストール方法とPHPとの連携については、以下の記事をご参照ください。
関連記事
WindowsへのApacheのインストール方法 サービスへ登録するまでをご紹介
ApacheとPHPを連携させる方法Windows編
(3)Apacheを起動します。
(4)ブラウザを起動し、次のURLを入力します。
http://127.0.0.1/phpMyAdmin-4.8.5/index.php
ローカルのPC以外にインストールした場合は、127.0.0.1のところを変更してください。また、phpMyAdmin-4.8.5のところはhtdocsに入れたphpMyAdminのフォルダ名と一致するようにしてください。
(5)以下のような画面が表示された成功です。
ただし、初めてアクセスしたときに、phpMyAdmin - エラーというメッセージが表示されることがあります。PHPやMySQLをインストールしてすぐのときに良く発生します。このエラーが起こったときは、次のMySQLに接続するための設定をご確認ください。
また、トップページは正しく表示されてユーザー名もパスワードもあっているのに、以下のようなメッセージが表示されてログインができないという場合もあります。このような場合も同様に次のMySQLに接続するための設定をご確認ください。
MySQLに接続するための設定
phpMyAdminのトップページを開いて「mysqli拡張がありません」というメッセージが出た場合は次のPHPの設定を、「cashing_sha2_password」に関するエラーメッセージが出た場合にはその下のMySQLの設定を確認してみてください。
PHPの設定
php.iniファイルを開いて、次の設定を確認してください。
; extension_dir = "ext"
これを次のようにします。コメントアウトを外して、PHPがインストールされているフォルダの中にあるextフォルダとなるように設定します。
extension_dir = "C:\PHP\php-7.3.2-Win32-VC15-x64\ext"
さらに、extensionに関する設定を行います。以下のような記述がある場合は、コメントアウト「;」を外します。
;extension=php_mbstring.dll
;extension=php_mysqli.dll
また、PHP 7.3では以下のような表記になっている場合があります。
;extension=mbstring
;extension=mysqli
この場合は、コメントアウトを外してphp_と.dllをつけるようにします。
extensionに関する記述は最終的には以下のようになります。
extension=php_mbstring.dll
extension=php_mysqli.dll
MySQLの設定
MySQL 5.7までは認証プラグインがmysql_native_passwordでしたが、MySQL 8.0からは caching_sha2_passwordに変更されました。より安全な接続ができるようにするための対応だそうです。
phpMyAdminではまだこのプラグインに対応しておらず、MySQL側で対応しなければなりません。
そのためには、データベースにアクセスするユーザーの認証方法を変更します。新規にユーザーを作る、もしくは既存のユーザーの認証方法を変更すれば、phpMyAdminでログインできるようになります。
(1)新規にユーザーを作る場合
MySQLのコマンドラインから以下のSQLを入力します。
create user 新規ユーザー名 identified with mysql_native_password by 'パスワード';
これによって、mysql_native_passwordで認証できるようになります。これでphpMyAdminにログインできるようになります。
ただ、このままだとデータベースやテーブルを作成するなどの権限がありませんので、新規に作成したユーザーに対して権限を付与します。
グローバルレベル:GRANT 権限 ON *.* TO user;
データベースレベル:GRANT 権限 ON db_name.* TO user;
権限のところにはselect、update、insert、delete、の組み合わせやallなどを記述します。わからなければallを指定しておくとすべての操作ができるようになります。
これで、phpMyAdminでログインすることができ、データベースの操作ができるようになります。
(2)既存のユーザーの認証方法を変更する場合
既存のユーザーの認証方法をmysql_native_passwordに変更するには以下のSQLを実行します。
ALTER USER ユーザー名 IDENTIFIED WITH mysql_native_password BY 'パスワード';
実際に変更されたかどうかを確認するには、以下のSQLを使ってみてください。
select User, Plugin from mysql.user;
まとめ
phpMyAdminはPHPでできていて、apacheのフォルダに配置すればすぐに使えるようになるので、とても手軽で便利です。
ただ、PHPやMySQLの設定を変更しなければならない場合がありますので、上で解説した内容を参考にしてもらえればと思います。