先在线python-mysql库
官方库地址
http://mysql-python.sourceforge.net/
下载下来的包,进行解压
直接执行
python setup.py build
有时会遇到这样的问题:
$ sudo python setup.py build
building a Distribute egg in /Users/mc2/Downloads/MySQL-python-1.2.4b4
/Users/mc2/Downloads/MySQL-python-1.2.4b4/distribute-0.6.28-py2.7.egg
sh: mysql_config: command not found
Traceback (most recent call last):
File "setup.py", line 18, in
metadata, options = get_config()
File "/Users/mc2/Downloads/MySQL-python-1.2.4b4/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/Users/mc2/Downloads/MySQL-python-1.2.4b4/setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
按照mysql-python的文档一步步来做,仍然会遇到这种问题,其实原因出在mysql_config上。
首先需要定位到本机的mysql_config,此文件处在mysql安装位置的bin目录下(假设Mysql安装在/data/mysql下,则路径为/data/mysql/bin/mysql_config)
修改site.cfg文件,在12行显示地设定mysql_config:
mysql_config.path = "/data/mysql/bin/mysql_config"
我电脑的mysql_config 文件位置为
/Applications/XAMPP/xamppfiles/bin/mysql_config
mysql_config 似乎是一个可以执行的mysql的配置的玩意儿,找到这个文件把位置定位好。就好了。
执行显示如下结果,明确指出了这个mysql_config会对应的系统文件
Usage: /usr/local/mysql/bin/mysql_config [OPTIONS]
Options:
--cflags [-I/usr/local/mysql/include -g -Os -arch x86_64 -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL]
--include [-I/usr/local/mysql/include]
--libs [-L/usr/local/mysql/lib -lmysqlclient -lz -lm -lmygcc]
--libs_r [-L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc]
--plugindir [/usr/local/mysql/lib/plugin]
--socket [/tmp/mysql.sock]
--port [0]
--version [5.1.63]
--libmysqld-libs [-L/usr/local/mysql/lib -lmysqld -ldl -lz -lm -lmygcc]
再次运行
python setup.py build
说找不到mysql_config.h
Linux的失败的地方,就是这个,各种软件,都需要各种包。麻烦哦。官方集成多好。你看apache组织和微软的成功就在于集成各种软件包。
看来xampp的结构,它不认识
下载一个纯mysql安装上
路径改成mysql的,就好了。
python setup.py install
安装完成
#!/usr/bin/env python
#-*- encoding:UTF-8 -*-
import MySQLdb
conn = MySQLdb.connect("localhost","urldb","123456","lifesp")
c=conn.cursor()
c.execute("set NAMES gbk")
c.execute("""select * from spider""")
print "Rows selected:", c.rowcount
for row in c.fetchall():
print "note : ", row[0], row[1]
c.close()
"Can't connect to local MySQL server through socket '/tmp/mysql.sock
发现他会自动去找系统安装的mysql。
链接一个mysql.sock给tmp目录
查看目前xampp下的my.cnf配置文件
找到mysql.sock的位置
/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
创建一个链接
ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock /tmp/mysql.sock
OK了
终于打印出数据库的东西了。
本地安装的MYSQL如何启动,停止
下载的文件夹里有一个MysqlStartupitem.pkg 文件要安装
在Mac OS X启动和停止MySQL服务的命令
摘要:在Mac OS X启动和停止MySQL服务的命令
启动MySQL服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
停止MySQL服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
重启MySQL服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
当然安装这个就为了能启动python的连接程序。我平时还是用xampp的mysql好了。
后记:ubuntu 系统下请直接 sudo apt-get install python-mysqldb 驱动就能装好了。
(我费用了一天,去安装一个mysql,折腾到最后也没有成功,用这命令2分钟搞定)