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の設定を変更しなければならない場合がありますので、上で解説した内容を参考にしてもらえればと思います。



このエントリーをはてなブックマークに追加



▲ このページの上部へ戻る