java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

python连接mysql

先在线python-mysql库
官方库地址

http://mysql-python.sourceforge.net/

下载下来的包,进行解压
直接执行

python setup.py build

有时会遇到这样的问题:

$ sudo python setup.py build
building a Distribute egg in /Users/mc2/Downloads/MySQL-python-1.2.4b4
/Users/mc2/Downloads/MySQL-python-1.2.4b4/distribute-0.6.28-py2.7.egg
sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 18, in 
    metadata, options = get_config()
  File "/Users/mc2/Downloads/MySQL-python-1.2.4b4/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/Users/mc2/Downloads/MySQL-python-1.2.4b4/setup_posix.py", line 25, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

按照mysql-python的文档一步步来做,仍然会遇到这种问题,其实原因出在mysql_config上。
首先需要定位到本机的mysql_config,此文件处在mysql安装位置的bin目录下(假设Mysql安装在/data/mysql下,则路径为/data/mysql/bin/mysql_config)

修改site.cfg文件,在12行显示地设定mysql_config:

mysql_config.path = "/data/mysql/bin/mysql_config"

我电脑的mysql_config 文件位置为

/Applications/XAMPP/xamppfiles/bin/mysql_config

mysql_config 似乎是一个可以执行的mysql的配置的玩意儿,找到这个文件把位置定位好。就好了。
执行显示如下结果,明确指出了这个mysql_config会对应的系统文件

Usage: /usr/local/mysql/bin/mysql_config [OPTIONS]
Options:
        --cflags         [-I/usr/local/mysql/include  -g -Os -arch x86_64 -fno-common   -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT  -DDONT_DECLARE_CXA_PURE_VIRTUAL]
        --include        [-I/usr/local/mysql/include]
        --libs           [-L/usr/local/mysql/lib -lmysqlclient -lz -lm     -lmygcc]
        --libs_r         [-L/usr/local/mysql/lib -lmysqlclient_r -lz -lm     -lmygcc]
        --plugindir      [/usr/local/mysql/lib/plugin]
        --socket         [/tmp/mysql.sock]
        --port           [0]
        --version        [5.1.63]
        --libmysqld-libs [-L/usr/local/mysql/lib -lmysqld -ldl  -lz -lm       -lmygcc]

再次运行

python setup.py build

说找不到mysql_config.h

Linux的失败的地方,就是这个,各种软件,都需要各种包。麻烦哦。官方集成多好。你看apache组织和微软的成功就在于集成各种软件包。

看来xampp的结构,它不认识

下载一个纯mysql安装上

路径改成mysql的,就好了。

python setup.py install

安装完成

#!/usr/bin/env python
#-*- encoding:UTF-8 -*-

import MySQLdb
conn = MySQLdb.connect("localhost","urldb","123456","lifesp")
c=conn.cursor()
c.execute("set NAMES gbk")  
c.execute("""select * from spider""")

print "Rows selected:", c.rowcount
for row in c.fetchall():
    print "note : ", row[0], row[1]
c.close()

"Can't connect to local MySQL server through socket '/tmp/mysql.sock

发现他会自动去找系统安装的mysql。

链接一个mysql.sock给tmp目录
查看目前xampp下的my.cnf配置文件
找到mysql.sock的位置
/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
创建一个链接

ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock /tmp/mysql.sock

OK了

终于打印出数据库的东西了。

本地安装的MYSQL如何启动,停止

下载的文件夹里有一个MysqlStartupitem.pkg 文件要安装

在Mac OS X启动和停止MySQL服务的命令

摘要:在Mac OS X启动和停止MySQL服务的命令

启动MySQL服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

停止MySQL服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

重启MySQL服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

当然安装这个就为了能启动python的连接程序。我平时还是用xampp的mysql好了。

后记:ubuntu 系统下请直接 sudo apt-get install python-mysqldb 驱动就能装好了。
(我费用了一天,去安装一个mysql,折腾到最后也没有成功,用这命令2分钟搞定)


This entry was posted in Python and tagged , , , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/python-connect-mysql/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply