Ubuntu16.04LTS に MySQL5.7 をインストール
LAMP環境(*)構築の仕上げにMYSQLをインストールする。併せて、PHPとMySQLを連携させたり、MySQL管理ツールのphpMyAdminを利用するために必要なモジュール群をインストールしていく。
(*)Linux, Apache, MySQL, PHP を組み合わせたWebアプリケーションの開発・実行環境のこと。それぞれの頭文字をとって、LAMP環境。
1. MySQL5.7をインストール
確認したところ、PPA無しの公式aptリポジトリで最新版の5.7がインストールできるようなので、早速実行。
% sudo apt-get install mysql-server
冒頭、MySQLのrootパスワード設定を求められる。適当に設定すると後で面倒そうなので、きちんと設定。設定後、もう一度パスワードの入力を求められるので、再度入力する。
これでMySQLのインストールは終了になる。コマンドでインストールされたバージョンを確認しておく。
% mysql --version mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper
2. 必要なPHPモジュール群をインストール
PHPとMySQLの接続モジュールをインストールする。
% sudo apt-get install php5.6-mysql
phpMyAdminの設定ファイル等で必要とするphp-mcryptをインストールしておく。
% sudo apt-get install php5.6-mcrypt
日本語などのマルチバイト文字利用のための拡張モジュールもインストールしておく。
% sudo apt-get install php5.6-mbstring
ついでに、'php.ini'でマルチバイト文字利用のための設定を行う。
% vim /etc/php/5.6/apache2/php.ini
PHP公式サイトを参考に次のように設定。
extension=php_mbstring.dll ;行先頭のコメントアウトは外す→後日、エラーログをチェックしたところ、 'No such file or directory' と警告が出ており、また別で代替のモジュールとなる 'mbstring.so' を読み込んでいたので、コメントアウトを戻した。 mbstring.language = Japanese mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII mbstring.substitute_character = none mbstring.func_overload = 0 mbstring.encoding_translation = Off mbstring.strict_detection = Off default_charset = "UTF-8" zend.multibyte = On zend.script_encoding = "UTF-8"
3. 定番管理ツールのphpMyAdminをインストール
公式レポジトリからインストール開始。
% sudo apt-get install phpmyadmin
途中、オプションの選択について聞かれるが、必要無いので「いいえ」を選択。
更に、webサーバの選択について聞かれるので、「apache2」を選択。
インストール終了後、apacheサーバを再起動。
% sudo service apache2 reload
2.で実施したマルチバイト文字利用の設定が無事完了していれば、'http://localhost/phpmyadmin'を開くと、次のようにphpMyAdminのログインページが現れる。
4. 'my.cnf'へ言語設定の記述を追記
最後に、MySQLの設定ファイル'my.cnf'を編集して、デフォルトの言語を'latin1'から'UTF-8'に変更するための記述を追加。
% sudo vim /etc/mysql/my.cnf
[mysqld] character_set_server=utf8 skip-character-set-client-handshake [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8
MySQLを再起動し、言語設定が反映されているのを確認して終了。
% sudo systemctl restart mysql [ ok ] Restarting mysql (via systemctl): mysql.service. % mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. * * Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> status -------------- mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper * * Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 * * --------------
<追記1>MySQLの停止・開始や状態確認のコマンド
% sudo systemctl stop mysql % sudo systemctl start mysql % sudo systemctl restart mysql % sudo systemctl status mysql
<追記2>自動起動の開始および停止
% sudo systemctl disable mysql % sudo systemctl enable mysql