Python配置mysql的教程(推荐)
Linux系统自带Python,且根据系统自带资源来对python配置mysql;安装需要已配置好正确的yum源;
在python未配置mysql的情形下,直接importMySQLdb的提示如下
>>>importMySQLdb Traceback(mostrecentcalllast): File"",line1,in ImportError:NomodulenamedMySQLdb
Linux系统中没有mysql-python的rpm安装包,这个资源需要从网上下载:
https://sourceforge.net/projects/mysql-python
目前主流使用Python2.6或Python2.7版本,下载为MySQL-python-1.2.3c1.tar.gz
下载后上传到Linux机器,放入非中文目录
tar-xfMySQL-python-1.2.3c1.tar.gz,解压目录如下
[root@localhosthome]#cdMySQL-python-1.2.3c1/ [root@localhostMySQL-python-1.2.3c1]#ll 总用量240 drwxr-xr-x.5rootroot8910月1212:27build -rw-r--r--.1tianFenosoft595803月312009ChangeLog drwxr-xr-x.2rootroot5710月1212:27dist drwxr-xr-x.2tianFenosoft583月312009doc -rw-r--r--.1tianFenosoft97162月62009ez_setup.py -rw-r--r--.1tianFenosoft179892月252007GPL -rw-r--r--.1tianFenosoft29353月42007HISTORY -rw-r--r--.1tianFenosoft6052月112007MANIFEST -rw-r--r--.1tianFenosoft2723月92009MANIFEST.in -rw-r--r--.1tianFenosoft20983月312009metadata.cfg -rw-r--r--.1tianFenosoft754313月312009_mysql.c drwxr-xr-x.3tianFenosoft21110月1212:28MySQLdb -rw-r--r--.1tianFenosoft23064月52006_mysql_exceptions.py -rw-r--r--.1rootroot379110月1212:28_mysql_exceptions.pyc drwxr-xr-x.2tianFenosoft903月312009MySQL_python.egg-info -rw-r--r--.1tianFenosoft17553月312009PKG-INFO -rw-r--r--.1tianFenosoft32034月52006pymemcompat.h -rw-r--r--.1tianFenosoft669610月172008README -rw-r--r--.1tianFenosoft3803月312009setup.cfg -rw-r--r--.1tianFenosoft9513月82009setup_common.py -rw-r--r--.1rootroot152010月1212:27setup_common.pyc -rw-r--r--.1tianFenosoft29473月82009setup_posix.py -rw-r--r--.1rootroot297710月1212:27setup_posix.pyc -rw-r--r--.1tianFenosoft49510月182008setup.py -rw-r--r--.1tianFenosoft15473月42007setup_windows.py -rw-r--r--.1tianFenosoft59210月172008site.cfg drwxr-xr-x.2tianFenosoft1493月312009tests
在配置python-mysql之前,还需要安装一些依赖项;否则会各种报错缺失
yumwhatprovidespython*
名称
来源
安装方式
python-devel
mysql-server
mysql-devel
setuptools
系统自带
http://pypi.python.org/pypi/setuptools
网络下载
可使用yumwhatprovidesmysql-devel命令查看是否已安装(旧版本Linux系统下包名称为mysql-dev,如果mysql-devel提示找不到,则使用dev替代):
如果命令报错,则表示yum源配置有误,或安装光盘与系统不匹配等,具体请参考Linux下yum源配置教程
[root@localhostmysql-python]#yumwhatprovidesmysql-devel Loadedplugins:product-id,refresh-packagekit,security,subscription-manager ThissystemisnotregisteredtoRedHatSubscriptionManagement.Youcanusesubscription-managertoregister. base|3.9kB00:00... mysql-devel-5.1.66-2.el6_3.x86_64:FilesfordevelopmentofMySQLapplications Repo:base Matchedfrom: mysql-devel-5.1.66-2.el6_3.i686:FilesfordevelopmentofMySQLapplications Repo:base Matchedfrom: mysql-devel-5.1.66-2.el6_3.x86_64:FilesfordevelopmentofMySQLapplications Repo:installed Matchedfrom: Other:Provides-match:mysql-devel mysql-devel-5.1.66-2.el6_3.i686:FilesfordevelopmentofMySQLapplications Repo:installed Matchedfrom: Other:Provides-match:mysql-devel
如上所示,Repo值为installed则表示已经安装;主要观察mysql-devel关键字的包是否已安装;如未安装,则输入yuminstallmysql-devel命令安装
依次安装mysql-devel、python-devel、python-setuptools,安装过程不报错则继续;
以上依赖项安装完成后,回到MySQL-python解压出的MySQL-python-1.2.3c1/目录;
>>pythonsetup.pybuild
>>pythonsetup.pyinstall
以上两项命令正确执行,则表示python配置mysqldb成功,再次验证导入MySQLdb是否报错
[root@localhostmysql-python]# [root@localhostmysql-python]#python Python2.7.5(default,Aug42017,00:39:18) [GCC4.8.520150623(RedHat4.8.5-16)]onlinux2 Type"help","copyright","credits"or"license"formoreinformation. >>>importMySQLdb >>>
如上表示配置MySQLdb成功
常见错误:pythonsetup.pybuild提示找不到mysql_config
这个问题是因为在构建mysqldb时,使用MySQL-python-1.2.3c1/目录下的site.cfg文件中配置的mysql_config;
[root@localhostMySQL-python-1.2.3c1]#ls builddocHISTORYmetadata.cfg_mysql_exceptions.pyPKG-INFOsetup.cfgsetup_posix.pysetup_windows.py ChangeLogez_setup.pyMANIFEST_mysql.c_mysql_exceptions.pycpymemcompat.hsetup_common.pysetup_posix.pycsite.cfg distGPLMANIFEST.inMySQLdbMySQL_python.egg-infoREADMEsetup_common.pycsetup.pytests [root@localhostMySQL-python-1.2.3c1]#moresite.cfg [options] #embedded:linkagainsttheembeddedserverlibrary #threadsafe:usethethreadsafeclient #static:linkagainstastaticlibrary(probablyrequiredforembedded) embedded=False threadsafe=True static=False #Thepathtomysql_config. #Onlyusethisifmysql_configisnotonyourPATH,oryouhavesomeweird #setupthatrequiresit. #mysql_config=/usr/local/bin/mysql_config #TheWindowsregistrykeyforMySQL. #ThishastobesetforWindowsbuildstowork. #Onlychangethisifyouhaveadifferentversion. registry_key=SOFTWARE\MySQLAB\MySQLServer5.0 [root@localhostMySQL-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 importMySQLdb conn=MySQLdb.connect("127.0.0.1","root","123456","mysql") cursor=conn.cursor() cursor.execute("select*fromuser") getdata=cursor.fetchone() print"theusertablecontentis:",getdata conn.close()
执行结果如下:
[root@localhostpython]#pythonmysql-conn.py theusertablecontentis:('%','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,
'mysql_native_password','123456','Y',datetime.datetime(2017,9,14,14,40,2),None,'N') [root@localhostpython]#
至此,Python配置Mysql验证通过!
以上这篇Python配置mysql的教程(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。