Python配置mysql的教程(推荐)


Posted in Python onOctober 13, 2017

Linux系统自带Python,且根据系统自带资源来对python配置mysql;安装需要已配置好正确的yum源;

在python未配置mysql的情形下,直接import MySQLdb的提示如下

>>> import MySQLdb
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ImportError: No module named MySQLdb

Linux系统中没有mysql-python的rpm安装包,这个资源需要从网上下载:

https://sourceforge.net/projects/mysql-python

目前主流使用Python2.6或Python2.7版本,下载为 MySQL-python-1.2.3c1.tar.gz

下载后上传到Linux机器,放入非中文目录

tar -xf MySQL-python-1.2.3c1.tar.gz,解压目录如下

[root@localhost home]# cd MySQL-python-1.2.3c1/
[root@localhost MySQL-python-1.2.3c1]# ll
总用量 240
drwxr-xr-x. 5 root root  89 10月 12 12:27 build
-rw-r--r--. 1 tianF enosoft 59580 3月 31 2009 ChangeLog
drwxr-xr-x. 2 root root  57 10月 12 12:27 dist
drwxr-xr-x. 2 tianF enosoft 58 3月 31 2009 doc
-rw-r--r--. 1 tianF enosoft 9716 2月 6 2009 ez_setup.py
-rw-r--r--. 1 tianF enosoft 17989 2月 25 2007 GPL
-rw-r--r--. 1 tianF enosoft 2935 3月 4 2007 HISTORY
-rw-r--r--. 1 tianF enosoft 605 2月 11 2007 MANIFEST
-rw-r--r--. 1 tianF enosoft 272 3月 9 2009 MANIFEST.in
-rw-r--r--. 1 tianF enosoft 2098 3月 31 2009 metadata.cfg
-rw-r--r--. 1 tianF enosoft 75431 3月 31 2009 _mysql.c
drwxr-xr-x. 3 tianF enosoft 211 10月 12 12:28 MySQLdb
-rw-r--r--. 1 tianF enosoft 2306 4月 5 2006 _mysql_exceptions.py
-rw-r--r--. 1 root root  3791 10月 12 12:28 _mysql_exceptions.pyc
drwxr-xr-x. 2 tianF enosoft 90 3月 31 2009 MySQL_python.egg-info
-rw-r--r--. 1 tianF enosoft 1755 3月 31 2009 PKG-INFO
-rw-r--r--. 1 tianF enosoft 3203 4月 5 2006 pymemcompat.h
-rw-r--r--. 1 tianF enosoft 6696 10月 17 2008 README
-rw-r--r--. 1 tianF enosoft 380 3月 31 2009 setup.cfg
-rw-r--r--. 1 tianF enosoft 951 3月 8 2009 setup_common.py
-rw-r--r--. 1 root root  1520 10月 12 12:27 setup_common.pyc
-rw-r--r--. 1 tianF enosoft 2947 3月 8 2009 setup_posix.py
-rw-r--r--. 1 root root  2977 10月 12 12:27 setup_posix.pyc
-rw-r--r--. 1 tianF enosoft 495 10月 18 2008 setup.py
-rw-r--r--. 1 tianF enosoft 1547 3月 4 2007 setup_windows.py
-rw-r--r--. 1 tianF enosoft 592 10月 17 2008 site.cfg
drwxr-xr-x. 2 tianF enosoft 149 3月 31 2009 tests

在配置python-mysql之前,还需要安装一些依赖项;否则会各种报错缺失

名称 来源 安装方式
python-devel 系统自带 yum whatprovides python* 将查询到的符合关键字名称的包逐个安装
mysql-server
mysql-devel
setuptools 系统自带 http://pypi.python.org/pypi/setuptools 下载,根据python的版本选择对应的setuptools版本或者使用自带包 yum install python-setuptools
MySQL-python 网络下载

可使用yum whatprovides mysql-devel命令查看是否已安装(旧版本Linux系统下包名称为 mysql-dev,如果mysql-devel提示找不到,则使用dev替代):

如果命令报错,则表示yum源配置有误,或安装光盘与系统不匹配等,具体请参考Linux下yum源配置教程

[root@localhost mysql-python]# <strong>yum whatprovides mysql-devel</strong>
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
base        | 3.9 kB  00:00 ...
mysql-devel-5.1.66-2.el6_3.x86_64 : Files for development of MySQL applications
Repo  : base
Matched from:
 
mysql-devel-5.1.66-2.el6_3.i686 : Files for development of MySQL applications
Repo  : base
Matched from:
 
mysql-devel-5.1.66-2.el6_3.x86_64 : Files for development of MySQL applications
Repo  : installed
Matched from:
Other  : Provides-match: mysql-devel
 
mysql-devel-5.1.66-2.el6_3.i686 : Files for development of MySQL applications
Repo  : installed
Matched from:
Other  : Provides-match: mysql-devel

如上所示,Repo值为installed则表示已经安装;主要观察mysql-devel关键字的包是否已安装;如未安装,则输入yum install mysql-devel命令安装

依次安装mysql-devel、python-devel、python-setuptools,安装过程不报错则继续;

以上依赖项安装完成后,回到MySQL-python解压出的MySQL-python-1.2.3c1/目录;

>> python setup.py build

>> python setup.py install

以上两项命令正确执行,则表示python配置mysqldb成功,再次验证导入MySQLdb是否报错

[root@localhost mysql-python]#
[root@localhost mysql-python]# python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>

如上表示配置MySQLdb成功

常见错误:python setup.py build提示找不到mysql_config

这个问题是因为在构建mysqldb时,使用MySQL-python-1.2.3c1/目录下的site.cfg文件中配置的mysql_config;

[root@localhost MySQL-python-1.2.3c1]# ls
build  doc   HISTORY  metadata.cfg _mysql_exceptions.py PKG-INFO  setup.cfg   setup_posix.py setup_windows.py
ChangeLog ez_setup.py MANIFEST  _mysql.c  _mysql_exceptions.pyc pymemcompat.h setup_common.py setup_posix.pyc site.cfg
dist  GPL   MANIFEST.in MySQLdb  MySQL_python.egg-info README   setup_common.pyc setup.py   tests
[root@localhost MySQL-python-1.2.3c1]# more site.cfg
[options]
# embedded: link against the embedded server library
# threadsafe: use the threadsafe client
# static: link against a static library (probably required for embedded)
 
embedded = False
threadsafe = True
static = False
 
# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
#mysql_config = /usr/local/bin/mysql_config
 
# The Windows registry key for MySQL.
# This has to be set for Windows builds to work.
# Only change this if you have a different version.
registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0
[root@localhost MySQL-python-1.2.3c1]#

如果mysql的安装位置与site.cfg中配置的位置不符,则需要修改site.cfg文件的#mysql_config配置,取消前面的注释,并配置为正确的地址。例如

mysql_config = /usr/bin/mysql_config #(未指定的情形下,mysql_config的位置默认在/usr/bin目录,不同系统存在差异,具体可通过搜索文件获取实际位置)

验证python-Mysql功能

根据需要配置Mysql数据库,并修改好用户名与密码;

查看python-mysql基础语法,链接mysql数据库的mysql库,获取user表信息,代码如下;

#!/usr/bin/python
#encoding=utf8
 
import MySQLdb
conn=MySQLdb.connect("127.0.0.1","root","123456","mysql")
cursor=conn.cursor()
cursor.execute("select * from user")
getdata=cursor.fetchone()
print "the user table content is:",getdata
conn.close()

执行结果如下:

[root@localhost python]# python mysql-conn.py
the user table content is: ('%', 'root', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0L, 0L, 0L, 0L, <br>'mysql_native_password', '123456', 'Y', datetime.datetime(2017, 9, 14, 14, 40, 2), None, 'N')
[root@localhost python]#

至此,Python配置Mysql验证通过!

以上这篇Python配置mysql的教程(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python文件操作类操作实例详解
Jul 11 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
Nov 07 Python
详细解析Python中__init__()方法的高级应用
May 11 Python
浅析Python编写函数装饰器
Mar 18 Python
Python中的变量和作用域详解
Jul 13 Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
python的几种矩阵相乘的公式详解
Jul 10 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
怎么快速自学python
Jun 22 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
Oct 13 #Python
python的paramiko模块实现远程控制和传输示例
Oct 13 #Python
基于python(urlparse)模板的使用方法总结
Oct 13 #Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 #Python
Python中的浮点数原理与运算分析
Oct 12 #Python
python中获得当前目录和上级目录的实现方法
Oct 12 #Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 #Python
You might like
PHP学习笔记之二 php入门知识
2011/01/12 PHP
PHP源码之explode使用说明
2011/08/05 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
python模拟事件触发机制详解
2018/01/19 Python
python文本数据相似度的度量
2018/03/12 Python
解决Python一行输出不显示的问题
2018/12/03 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
工程业务员工作职责
2013/12/07 职场文书
《草虫的村落》教学反思
2014/02/16 职场文书
环保倡议书100字
2014/05/15 职场文书
员工保密承诺书
2014/05/28 职场文书
2014年党员整改措施
2014/10/24 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技
mysqldump进行数据备份详解
2022/07/15 MySQL