前回はPHPをソースインストールする方法について説明しました。今回はCentOS8上にMySQLをGUIで操作することが出来るphpMyAdminを導入する方法について説明します。
目次
実施環境
OS | CentOS 8 |
---|---|
Apache | 2.4.43 |
PHP | 7.4.7 |
MySQL | 8.0.20 |
phpMyAdminとは
phpAdminはPHPベースで開発された、WebサーバからMySQLを操作を行うことができるツールです。ブラウザからSQL文の入力に加え、GUI操作でSQL文を作成できるため、MySQLの管理に便利なツールです。
Apache、PHP、MySQLのインストールについて
Apache、PHP、MySQLのインストールについては、以下のページを参照してください。
・CentOS8にApache2.4.43をソースインストールする方法
・ApacheにPHP7.4.7を導入する方法
・CentOS8にMySQLをインストールする方法
phpMyAdminのダウンロード
初めにphpMyAdminのダウンロードをします。最新版のzipについては、以下のページの右上あたりにある「Download X.X.X」というボタンからアドレスをコピーすることができます。
・phpMyAdmin Download
今回はApacheのDocumentRootが/usr/local/apache2/htdocsに設定されている想定でphpMyAdminを配置します。DocumentRootが違う場所の場合は各自の環境に合わせてください。
・phpMyAdminをDocumentRootにダウンロードし展開、リネームする
# cd /usr/local/apache2/htdocs
# wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
# unzip phpMyAdmin-5.0.2-all-languages.zip
# mv phpMyAdmin-5.0.2-all-languages phpmyadmin
・phpMyAdminのzipファイルを削除する
# rm -rf phpMyAdmin-5.0.2-all-languages.zip
phpMyAdminの設定ファイルの編集
次にphpMyAdminのログイン時に発生する以下のエラーを回避するための設定をします。
・mysqli_real_connect(): (HY000/2002): No such file or directory
・The server requested authentication method unknown to the client
1つ目がMySQLに指定されたファイルやディレクトリが無いというエラーです。2つ目が指定した認証方法がクライアント側で許可されていないというエラーです。この2つのエラーを回避するために、phpMyAdminの設定ファイルとmy.cnfの設定を行います。
ダウンロードしたphpMyAdminのフォルダ内にconfig.sample.inc.phpというPHPファイルがあるため、sampleを除外したconfig.inc.phpというファイル名にリネームします。リネーム後、phpMyAdminで使用するMySQLを指定する設定を行います。
・phpMyAdminの設定ファイルのサンプルをリネームする
# cp /usr/local/apache2/htdocs/phpmyadmin/config.sample.inc.php /usr/local/apache2/htdocs/phpmyadmin/config.inc.php
・config.inc.phpを編集する
# vi /usr/local/apache2/htdocs/phpmyadmin/config.inc.php
■config.inc.php
-----------------------------------------------------------
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
/* サーバの接続タイプやソケットのパスを設定する */
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock';
-----------------------------------------------------------
my.cnfの設定
config.inc.phpの設定後、MySQLの設定ファイル・my.cnfの設定をします。
・my.cnfを編集する
# vi /etc/my.cnf
■my.cnf
-----------------------------------------------------------
[mysqld]
default_authentication_plugin=mysql_native_password
-----------------------------------------------------------
設定後、MySQLを再起動します。
・MySQLを再起動する
# systemctl restart mysqld
MySQLユーザーのパスワード設定
各種ファイルの設定完了後、phpMyAdminで使用するユーザーのパスワードに「with mysql_native_password」のオプションを付与します。今回は動作確認用のためrootユーザーで行います。
・phpMyAdminで使用するユーザーのパスワードにmysql_native_passwordを付与する
mysql> alter user root identified with mysql_native_password BY 'Evgr74Gehta';
動作確認
phpMyAdminで使用するユーザーの設定後、ブラウザを開きURLに「http://<サーバのIPアドレス or ドメイン>/phpmyadmin」と入力します。phpMyAdminのログイン画面が表示されれば成功です。

Languageで言語を設定後、先程設定したユーザー名とパスワードを入力します。言語を日本語に設定しログインした場合は下記にような画面が表示されれば成功です。
