pydev-python 链接mysql数据库(mac系统)
在mac os上安装MySQLdb,遇到了很多问题,总结一下:
首先,如果用sudo easy_install mysql-python命令安装,基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是现在基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突。
所以只能自己去下载http://sourceforge.net/projects/mysql-python/files/,我下载的是MySQL-python-1.2.4b4.tar.gz。
解压后,修改site.cfg,其中注释了一行:
mysql_config = /usr/local/mysql/bin/mysql_config把注释去掉,路径改为你安装的mysql对应的位置。
然后命令行进入解压的MySQL-python-1.2.4b4目录,执行sudo python setup.py install进行安装。
安装过程中又遇到很多问题,然后在网上找到了两个解决方案。但是这样安装还是会有问题,因为我使用eclipse+pydev的开发环境,这个环境还是不能使用MySQLdb。但是用这两个解决方法,可以在命令行下 import MySQLdb了,所以也记下来看看将来有没更完美的解决方法。
第一个问题是安装过程提示:Library not loaded: libmysqlclient.18.dylib
根据http://blog.sina.com.cn/s/blog_68f3bc280100supn.html,要么在环境变量添加export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/" 要么就软链接,在命令行里执行:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib第二个问题是安装过程提示:no suitable image found.Did find:/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so: mach-o, but wrong architecture
根据http://www.liuhuadong.com/archives/1628,可以这样解决:
在/Users/你的用户名/ 目录下编辑或添加隐藏文件.bash_profile,添加环境变量:
PATH="/usr/local/mysql/bin:${PATH}" export PATH export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ export VERSIONER_PYTHON_PREFER_64_BIT=yes export VERSIONER_PYTHON_PREFER_32_BIT=yes然后再在命令行进入解压的MySQL-python-1.2.4b4目录,输入:
sudo python setup.py build sudo python setup.py install重新编译和执行安装。
这样以后在命令行下执行import MySQLdb就没有问题
2.pydev中的配置 前提是完成了上面的步骤 首先要打开preference-pydev-interpreter-python中,点击autoconfig勾选上有mysql的那个包,重新导入。 这时候添加import MySQLdb虽然不报错,但是一旦运行,就会报错:Library not loaded: libmysqlclient.18.dylib Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so
解决方案是在shell里执行(注意改路径):
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so
3.测试 在shell里输入以下代码测试下是否链接成功
import MySQLdb conn=MySQLdb.connect(host=localhost,user=root,passwd=root,db=test,port=3306) cur=conn.cursor() cur.execute(select * from mytable) results=cur.fetchall() for r in results: print r cur.close() conn.close() except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])
输出结果,数据库查询成功:
MySQL查看及杀掉链接方法大全 在数据库运维过程中,我们时常会关注数据库的链接情况,比如总共有多少链接、有多少活跃链接、有没有执行时间过长的链接等。数据库的各种异常也能通过链接情况间接反应出来,特别是数据库出现死锁或严重卡顿的时候,我们首先应该查看数据库是否有异常链接,并杀掉这些异常链接。本篇文章将主要介绍如何查看数据库链接及如何杀掉异常链接的方法。
傲海 著有《机器学习实践应用》,阿里云机器学习PAI产品经理,个人微信公众号 ldquo;凡人机器学习 rdquo;。
相关文章
- python 向mysql中存储图片以及读取图片
- python pickle模块常见函数
- Python-MySQL抽取表中每个分组的前N个数据
- python操作MySQL数据库的三个模块
- python使用插入带有%的字符串到mysql数据库
- python操作db2和mysql ,ibm_db
- python 连接 mysql
- [Python]pymysql连接MySQL数据库
- python连接mysql
- python 爬虫系列01-连接mysql
- Python:XPath与lxml类库(二)
- python连接MySQL数据库问题
- python操作MySQL数据库
- python连接mysql数据库,并进行添加、查找数据
- Python为何在高收入国家野蛮生长?
- mysql-python install error: Cannot open include file 'config-win.h'
- python编程(mysql操作)
- python操作Mysql数据库
- 7.2 Configuring the MySQL database from Python
- Python访问MySQL数据库
- 开始慢慢学习这本书了。。Python编程实战:运用设计模式、并发和程序库创建高质量程序
- 十四、python学习之MySQL数据库(一):安装MySQL数据库