Bash on Windows で MySQL を動かしてみる
いま Windows が熱いですね!
いや正確には Windows 10 Insider Preview で、Windowsj上で Linux が動くようになり、OSSやインフラ系のエンジニアさん達に俄然注目浴びてるわけですが、MySQLユーザーの私も、ちょうど SoftwareDesign 6月号の bash 大特集と MySQL の特集記事読んでるうち、
「むむ?これはもしかして Bash on Windows で MySQL を操作せよということではないか?!」
と、悪い心がむくむく湧いてきてしまったので、早速試してみることにいたしました。
- 出版社/メーカー: 技術評論社
- 発売日: 2016/05/18
- メディア: 雑誌
- この商品を含むブログ (2件) を見る
Bash on Windows を有効化する
よいこのみんなはとっくに Bash on Windows を有効化してると思うので、この辺りは割愛させて頂きます。まだの方は、以下の記事など参考に、ぜひ茨の道に足を踏み入れてください。
Bash on Ubuntu on Windowsをインストールしてみる(Windows 10 build 14316)
なお Insider Preview はあくまで最新機能の評価版のため、想定外の事態に遭遇することがたびたびありますが、それも致し方ないと太平洋のごとき大らかな心を持ち、Microsoft にガンガンフィードバックを送ってやりませうw
MySQL サーバーをインストールする
次は MySQL のインストールです。SoftwareDesign 6月号の記事を参考に、最新版 MySQL5.7 をインストールしてみました。
スタートメニューから「Bash on Ubuntu on Windows」を探し、クリックして bash を起動します。wget コマンドで、で、MySQL の公式サイトから apt リポジトリの最新バージョンをダウンロードします。ちなみに以下のリポジトリは 2016/06/22 現在のものです。最新のリポジトリは https://dev.mysql.com/downloads/repo/apt/ で調べてください。
wget https://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
dpkg コマンドでダウンロードしたリポジトリをインストールします。
どのツールとバージョンをインストールするか尋ねられるので、最初のダイアログでは「MySQL Server」、次のダイアログでは「mysql-5.7」を選択し、<了解>をEnter で次に進みます。
MySQLサーバーのインストールが完了したら、次は mysql のインストールです。apt-get update 完了後に mysql をインストールします。
sudo apt-get update
sudo apt-get install -y mysql-community-server
インストールが完了したら、service コマンドで mysql を起動します。
sudo service mysql start
これで、「MySQL Community Server 5.7.13 is started」と出力されれば、MySQL の利用が可能になります。
MySQL の日本語化対応
次は、MySQL の日本語化対応です。
sudo vi /etc/mysql/my.cnf
で、my.cnf を編集します。client セクションとmysqld セクションに以下の設定を追加します。
[client]
・・・・・・
default-character-set = utf8[mysqld]
・・・・・・
character-set-server = utf8
編集が完了したら、service コマンドで mysql を再起動します。
sudo service mysql restart
これでMySQLで扱われる文字コードが UTF-8 になりました。最近は UTF-8 で扱えない文字もたまに見かけるので utf8mb4 を指定してもいいかもしれませんね。
MySQL を動かしてみる
ここまでできたなら、実際にデータベースとテーブルを構築して、動作確認してみたいと思います。まずは MySQL に接続します。
mysql -u root -p[パスワード]
プロンプトが 「mysql>」に変わったなら MySQL サーバーに接続に成功です。お次は DB とテーブルを構築します。
私はSQL実践入門読書会に参加してますが、この読書会で動かしてるのが、SQL実践入門のサポートページで公開されてるサンプルコード。こちらは標準クエリで書かれてるので、MySQL でも動作します。今回はこれを借用させていただきます。
SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)
- 作者: ミック
- 出版社/メーカー: 技術評論社
- 発売日: 2015/04/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
まずは先頭にDB の構築文を追加して、さらにテーブルについては 今回 MySQL のため、あえて InnoDB エンジンと文字コードUTF-8 を指定しときます。
あとはサンプルのINSERT 文を流し込んで SELECT してみる・・・・するとこうなる。
現状では Widnwos 側からこの MySQL に接続する方法はないようですが、それでも仮想環境設けたりサーバーに接続することなく、自環境だけで MySQL のクエリや MYSQL サーバーの動作確認ができるのはかなり便利だと思います。ぜひ皆さんも Bash on Windows で MySQL をインストールしてみてはいかがでしょうかw