使用MySQL-Python1.2.3链接MySQL5.5

本文详细记录了在Windows环境下安装mysql-python1.2.3的过程,包括解决安装过程中遇到的问题,如注册表读取错误和库文件配置等,并成功连接MySQL5.5。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql-python1.2.3可以连接MySQL5.5

环境:Windowsxp python2.6 mysql5.1(之前安装的,没有删除) mingw32

安装mysql5.5:

这个没什么好说的,记得安装的时候把开发人员所需的内容选上(或者完全安装)。

我的mysql5.1还跑在3306端口,所以5.5就设在3307端口。

服务的名字也不能用“mysql”,因为5.1占了,所以我设成mysql5.5

 

安装mysql-python1.2.3:

安装1.2.2的时候使用的是Windows exe格式的安装包,没有费什么劲,没有想到这个1.2.3的源码包装起来这么费劲。

问题主要出在setup_windows.py这个安装脚本里。

首先,里面通过注册表获取mysql_root的语句会报错。我对python的_winreg包也不太了解,所以没有改,注释掉后,直接从注册表里将mysql的location值赋值给了mysql_root:

 

# serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])

# mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location')

mysql_root = 'D:\Program Files\MySQL\MySQL Server 5.5'

然后,安装选项也有问题,这一句:

 libraries = [ 'kernel32', 'advapi32', 'wsock32', client ]

会导致非常壮观非常长的错误日志。问题主要出在最后的client上,把client改为'libmysql'就可以了:

 

# libraries = [ 'kernel32', 'advapi32', 'wsock32', client ]

libraries = [ 'kernel32', 'advapi32', 'wsock32', 'libmysql']

 


中间还可能会出现缺少某某.h文件的错误,主要的是在mysql的安装过程中没有安装developer comments(貌似是这)的缘故。

 

 

可以参考这个博客:

http://daniel-zhy.livejournal.com/31420.html

需要注意的是,正如我在博客下面留言的:不应该是'mysql',而是'libmysql'。

 

 

链接测试:

In [34]: cur1.execute('show tables;')
Out[34]: 2L

In [35]: cur1.fetchall()
Out[35]: (('dict',), ('test5.5',))

In [36]: cur1.execute('desc dict;')
Out[36]: 2L

In [37]: cur1.fetchall()
Out[37]:
(('key', 'tinyint(4)', 'NO', 'PRI', '0', ''),
 ('value', 'varchar(20)', 'YES', '', None, ''))

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值