/var/log

技術系のあれこれ。※内容は個人の発言であり、所属する組織を代表するものではありません。

PythonからMySQLへの接続


python経由でMySQLにアクセスするために以下のパッケージを導入したらハマった...
MySQLを64ビットでインストールしていたのが原因だったようです.

下記の手順で確認するとpythonが32ビットで動いているのがわかったので
MySQLの32ビットバージョンにすればいいはず! ← 根拠はなかったw

$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$
$ file /Library/Frameworks/Python.framework/Versions/2.7/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc):	Mach-O executable ppc
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386):	Mach-O executable i386

i386は32ビット仕様です


下記のURLを参考にさせてもらってまずは,MySQLの32ビットバージョンのインストールを開始しました.
http://d.hatena.ne.jp/hirokiky/20110801/1312217746

何がでるかな?と確認すると以下の2つのパッケージを削除する必要がありそうですと.

$ pkgutil --pkgs | grep -i mysql
com.mysql.mysql
com.mysql.mysqlstartup

さくじょ...さくじょ...さぁあくじょー

$ sudo pkgutil --unlink com.mysql.mysql
$ sudo pkgutil --forget com.mysql.mysql
$ sudo pkgutil --unlink com.mysql.mysqlstartup
$ sudo pkgutil --forget com.mysql.mysqlstartup


これでパッケージ削除が完了したので,再度MySQLを導入(今度は確実に32ビットいれる)
するとうまくういくようになりました(一安心)