ubuntu11.10下面安装python中的MySQLdb模块教程(python2.7 my...

以前弄过一个很方便的一次性安装好mysql以及数据文件配置和python的MySQLdb库的脚本,今天在自己的ubuntu11.10下面用这个安装的时候发现一直报错,昨晚弄了一个晚上,想了想估计是redhat和ubuntu不同导致的。于是今天上午重新弄了下:

       1 如果因为不会安装mysql导致登陆不上mysql或者因为XXlock之类的错误的话,可以先用ps -aux | grep "mysql"看看有没有已安装的版本,把服务先停了。在按照:

           sudo apt-get autoremove --purge mysql-server-5.0 
           sudo apt-get remove mysql-server
           sudo apt-get autoremove mysql-server
           sudo apt-get remove mysql-common (非常重要)

           来卸载

      2 安装mysql。最简洁的方法就是 sudo apt-get install mysql-server。安装的过程中会要求配置root账号和密码。这么安装后mysql就基本上可以用了,但是在/usr/bin/下面会缺少mysql_config文件,后面安装MySQLdb的时候会报错找不到文件。再安装两个包就行了:sudo apt-get install mysql-client 和sudo apt-get install libmysqlclient-dev。

      3 下载对应的setuptools-0.6c11-py2.7.egg。ubuntu11.10里面默认安装的python是2.7的,所以要下载对应2.7版本的http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.7.egg。下载后chmod +x 添加可执行权限再sudo ./setuptools-0.6c11-py2.7.egg执行下。

      4 我自己安装的MySQLdb是MySQL-python-1.2.3版本的,这个网上很多下载。解压后首先修改site.cfg文件               

         embedded = False

         threadsafe = False

         static = False

         mysql_config = /usr/bin/mysql_config

         这么修改就OK了。

      5 在文件夹下面执行sudo python setup.py build和sudo python setup.py install。这个时候可能会报错,出现pymemcompat.h:10: fatal error: Python.h: 没有那个文件或目录。这个时候只需要sudo apt-get install python-dev安装下环境就OK了,在重复5

      6 测试。直接python命令进去import MySQLdb看报错与否,不报错就是正常了。附一点测试代码:

        

import os, sys, string 
import MySQLdb 

# 连接数据库  
try: 
conn = MySQLdb.connect(host='localhost',user='root',passwd='xxxx',db='test1') 
except Exception, e: 
print e 
sys.exit() 

# 获取cursor对象来进行操作 

cursor = conn.cursor() 
# 创建表 
sql = "create table if not exists test1(name varchar(128) primary key, age int(4))" 
cursor.execute(sql) 
# 插入数据 
sql = "insert into test1(name, age) values ('%s', %d)" % ("zhaowei", 23) 
try: 
cursor.execute(sql) 
except Exception, e: 
print e 

sql = "insert into test1(name, age) values ('%s', %d)" % ("张三", 21) 
try: 
cursor.execute(sql) 
except Exception, e: 
print e 
# 插入多条 

sql = "insert into test1(name, age) values (%s, %s)" 
val = (("李四", 24), ("王五", 25), ("洪六", 26)) 
try: 
cursor.executemany(sql, val) 
except Exception, e: 
print e 

#查询出数据 
sql = "select * from test1" 
cursor.execute(sql) 
alldata = cursor.fetchall() 
# 如果有数据返回,就循环输出, alldata是有个二维的列表 
if alldata: 
for rec in alldata: 
print rec[0], rec[1] 


cursor.close() 

conn.close()

-------------------------------------------------------------------------------------------

ubuntu开通ssh服务:

sudo apt-get install openssh-server openssh-client

http://hi.baidu.com/cyb_%D6%E0%CF%A1%CF%A1/blog/item/106bc404aeb35cd17b8947cd.html

你可能感兴趣的:(ubuntu11.10下面安装python中的MySQLdb模块教程(python2.7 my...)