俺の開発大作戦

Linux, Mac, Windows10 で 迷走する1開発を進めていく備忘録5

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

俺: 医療系事業会社のITサービス開発担当者

▼プロフィール畳む

▶プロフィール見る

ネットが産声をあげた前世紀末に元国営の通信会社に新卒入社し、以降およそ10年間勤務して、インターネット系の新規事業立ち上げに複数携わる。

その後、退職して、ITベンチャーのスタートアップ参画を皮切りに、複数のIT企業でプロダクトマネージャーを務めた後、縁あって現在の医療系事業会社へjoin。

元来、エンジニアばかりの環境で過ごしてきたが、いまいるここは一般の非IT系事業会社。

自分以外に実際に手を動かせるスタッフは誰もいない環境やさかい、IT系プロダクトの企画から内製によるシステム開発、ビッグデータ分析や人工知能のビジネス転化への試行錯誤も仕方なく一人でマルチに行い奮闘中。
(そろそろ仲間が欲しい・・・)

E-mail: contact@kobachan.biz

カテゴリー
月別アーカイブ
  • 2018 (4)
  • 2017 (6)