オタクと文化を科学する

バイオ系博士の備忘録

Jupyter notebookでMySQL(とMongoDB)の演習をする

東大松尾研のデータサイエンティスト育成講座を以前に紹介しました。
少しずつ進めていると、8章からデータベースのお話に。
ただし、現行のjupyter notebookではプログラムが動かないらしく、初心者が実行環境を設定するのは大変そう。
こちらの記事でも触れられていましたが、解決方法までは載っていなかったので、備忘録として記事にしておきます。

環境

$ sw_vers
>ProductName:	Mac OS X
>ProductVersion:	10.14.1
>BuildVersion:	18B75
$ python3 --version
>Python 3.7.0

$ jupyter notebook --version
>5.6.0


特にAnacondaとかは入れてないです。
jupyter notebookもpipして入れています。

1. MySQL, PyMySQLのインストール

ターミナルで、次のように打ち込む。

$ brew install mysql
$ pip3 install PyMySQL


以前にMySQLを中途半端に実行していていて色々なエラーが出たので(恨むぞプロ門...)、クリーンインストールしてしまうのが結局早かった。。。

2. MySQLサーバーの立ち上げ

ターミナルで、次のように打ち込む。

$ sudo mysql.server start


MySQLインストール後の初期設定はこちらの記事を参考にしました。
データベースの安全管理上、権限がないです、とエラーが出る場合が多いので、基本sudo付きで実行します。
色々聞かれるy/n質問は、全てyesで良いと思います。

ここまでやったら、jupyter notebookに戻って進めます。

3. jupyter notebookとMySQLを接続する

ターミナルで実行します。

$ jupyter notebook


自動でjupyter notebookが立ち上がるので、松尾研資料(data science)8章と、こちらの記事を参考にしながら接続。


これで、jupyter notebookを用いてMySQLコードを実行することができます。


以上です。
お読みいただきありがとうございました。


追記. 181210
10章のMongoDBは、
こちらの記事を参考にしてうまくいった。
演習はpymongoで進むので、マジックコマンドなどいちいち書く必要もなく楽(MySQL kernelを入れられれば一番良かったのだが……)。
8, 9章はSQLの構文にかなり惑わされてたので、SQLAlchemyとかが良かったな……。