Raspberry Pi3でMySQLのインストール方法

MySQLはオープンソースのリレーショナルデータベース管理システムです。現在では、多くの企業で採用されており、Facebook、Youtube、Amazonなどの有名企業で導入されています。ここではRaspberry Pi3におけるMySQLのインストール方法について解説していきます。

01: 環境

  • Raspbian GNU/Linux 8.0 (jessie)

02: MySQLのインストール

bash


$ sudo apt-get install mysql-server

MySQLサービス

bash


# 起動
$ sudo /etc/init.d/mysql start

# 再起動
$ sudo /etc/init.d/mysql restart

# 停止
$ sudo /etc/init.d/mysql stop

03: 外部からMySQLへ接続する際の設定

userテーブルを確認する。

bash


mysql> select user, host, password  from mysql.user;

##  hostに接続先のホストがなければ、下記のコマンドを実行する。
# すべてのホストに接続許可
mysql> grant all privileges on python_test.* to root@"%" identified by '' with grant option;

# LANのすべてのホストに接続許可
mysql> grant all privileges on python_test.* to root@"192.168.11.%" identified by '' with grant option;

# ちなみに、接続許可を取り消す場合
mysql> delete from mysql.user where user='root' and host='192.168.11.%';
my.cnfのbind-address設定を確認する。

bash


# bind-addressに「127.0.0.1」が設定されていれば「0.0.0.0」に変更する。
# bind-addressをコメントアウトしてもOK。(「0.0.0.0」に変更した場合と同じ)
# また、bind-addressが複数行記述されている場合、最終行のみ適用される。
$ sudo nano /etc/mysql/my.cnf

すべてのホストに接続許可


...
# bind-address		= 127.0.0.1
bind-address		= 0.0.0.0
...
待ち受けポートを確認する。

bash


# 下記コマンドを実行し、「0.0.0.0:3306...LISTEN...」の記載があるか確認する。
$ netstat -tlpn
ファイアーウォールの設定を確認する。

bash


# 接続制限がかけられているフィルタールールがないことを確認する。
$ sudo iptable -L

04: phpから接続

bash


# PHP5用のMySQLモジュールをインストール
$ sudo apt-get update
$ sudo apt-get install php5-mysql

# 再起動
$ sudo reboot

sample.php


<?php
try {
  $dsn = 'mysql:dbname=php_test;host=127.0.0.1;charset=utf8mb4';
  $pdo = new PDO($dsn, 'root', 'pass');
} catch (PDOException $e) {
  echo "DB Connection Error\n";
  exit;
}
?>