はじめに
最近だが、Raspberry Pi 3をサーバーとして動かすことに興味を持ち、必死こいて触っている。
今回は、Raspberry Pi 3にDBを突っ込んで動かしてみよう!って言う話。
前提(前回までのまとめ)
- Raspberry Pi 3 BにRaspbianを導入(非NOOBS)
- 初期設定
- パスワード変更
- キーボードレイアウトの変更
- SSHによるリモート接続の許可
- wi-fi回線のローカルIPの固定
DBサーバーを導入する
最近IT系の職に就いたばかりなので、使ったことあるDBはMySQLしか無い。
というわけで、MySQLを導入する。
$ sudo apt-get install mysql
※log残してなくて、結果がどっかいっちゃった…以後気をつけます。
無事インストール完了。
ためしにrootで入ってみる。
$ mysql -u root -p
Enter password:
※中略
mysql\>
お、入れた。いい感じですね。
今度は外付けHDDにデータを格納する予定なので、下記のようなこともしたよ。
Raspberry Piに接続するHDDはこれ。
http://kakaku.com/item/K0000699019/
最近はHDDもSSDも安くなったね!技術の進歩に感謝!
ちなみにこのHDD、最初からntfsフォーマットされてます。多分win向けだからかな?
直接接続できるよう、ntfs-3gを導入しました。
$ sudo apt-get install ntfs-3g
mysqlサーバーのデータをすべてHDDに置きたいので、mysqlのデータが格納される場所にマウント
$ sudo mount /dav/sda2 /var/lib/mysql
マウントされているか確認
$ df -h
/dev/sda2 1.9T 148M 1.9T 1% /var/lib/mysql
いけてますね!やりました!
リモート接続できるようにポート開放。
$ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
リモート接続用アカウント作成。
mysql> grant all privileges on DB名.* to ユーザ名@"ホスト" identified by "パスワード" with grant option;
HeidiSQLでMySQLサーバーに接続
Can't connect to MySQL server on 'サーバーのIPまたはホスト名' (10061)
何故か、鯖立ってねぇよハゲ!って怒られました。
立ってるのに立ってない。立ってないのに立ってる。
なんでやろ。
別に立っているCentOS7からterminalでリモート接続してみる。
$ mysql -u***** -p -h サーバーのIPまたはホスト名
ERROR 2003 (HY000): Can't connect to MySQL server on 'サーバーのIPまたはホスト名' (111)
なんかまた様子が違うな。
調べてるうちにこんな記事が。
http://www.nilab.info/z3/20060721_zlashdot_000318.html
どうやら、特定のアドレスからしか接続できないようになってたみたい。
最終的に、メインPCでもサブPCでもHeidiSQLで入りたいし、複数台から接続する予定となっている。
私はコメントアウトすることにした。
$ sudo vi /etc/mysql/my.cnf
# bind-address=127.0.0.1
再度HeidiSQLで接続...
成功!!!
思ったより引っかかった。一つ勉強になったね!やったぜ!!!!
最後に
今回初投稿でした。
Raspberry Pi 3にMySQL入れる人も多かったし、ntfsフォーマットのHDDをUSB接続する人も多かったけど、
MySQLのデータをすべてHDDに突っ込もうとする人はいなかった。今回はそういう趣旨で文章を書きました。
至らない所があればご指摘願います。