Install MySQLdb for Python

Download and install MySQL package installer
Download MySQLdb mysql-python (1.2.3)
Install MySQLdb
ARCHFLAGS=’-arch x86_64′ python setup.py build
ARCHFLAGS=’-arch x86_64′ python setup.py install
If you get the error “mysql_config not found” follow the instructions here,
which are essentially this: Open up site.cfg from the binding distribution and
make sure it has this (the path to mysql_config should match the actual one
on your system):
mysql_config = /usr/local/mysql/bin/mysql_config

$ python -c “import MySQLdb”
Traceback (most recent call last):
File “<string>”, line 1, in <module>
File “build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py”, line 19, in <module>
ImportError: dlopen(./_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib
Referenced from: /Users/phaisarn/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
Reason: image not found
สาเหตุคือ _mysql.so อ้างอิงไปที่ไฟล์ libmysqlclient.16.dylib แต่ไม่สามารถหาไฟล์นี้พบ
เนื่องจาก libmysqlclient.16.dylib เป็น MySQL client ดังนั้น จึงต้องตรวจสอบไปที่ MySQL
แก้ไข หาไฟล์ ibmysqlclient.16.dylib ว่าอยู่ที่ไหน ปรากฏว่าอยู่ที่/opt/local/lib/mysql5/mysql
ทำการตรวจสอบ DYLD_LIBRARY_PATH ด้วยคำสั่ง echo $DYLD_LIBRARY_PATH
ทำการ export DYLD_LIBRARY_PATH=/opt/local/lib/mysql5/mysql
เรียกคำสั่ง $ python -c “import MySQLdb” ก็จะไม่มี error เป็นอันเรียบร้อย

แต่ถ้าหาไฟล์ libmysqlclient.16.dylib ไม่เจอ ให้ใช้ MacPorts
http://www.macports.org/install.php
ทำการติดตั้ง MacPorts จากนั้นเรียกคำสั่ง
/opt/local/bin/port install py26-mysql
ก็จะได้ไฟล์ libmysqlclient.16.dylib มา

การให้ Python เรียก MySQLdb
import MySQLdb
conn = MySQLdb.connect(host=’localhost’,user=’xxx’,passwd=’xxx’,db=’mysql’, unix_socket=’/tmp/mysql.sock’)

ที่มา: birdhouse.orgstackoverflow.commacports.orgmangoorange.com (1.2.2)