python连接MySQL

作者: 顾慎为 | 来源:发表于2015-08-03 00:00 被阅读367次

    首先,要安装好MySQL,结果我给忘了。。
    应该是这个,我还在下载:http://dev.mysql.com/downloads/file.php?id=458460
    然后,python要安装连接MySQL的包。
    使用pypi下载,名字叫做MySQL-python。
    然而pypi官方源国内慢的要死,下载超时。

    需要换源,我选择的是:http://pypi.v2ex.com/simple/

    然而执行命令的时候:pip install MySQL-python -i http://pypi.v2ex.com/simple会提示该源是http不是https的,不能用。

    提示中说,需要添加--trusted-host pypi.v2ex.com,然而还是没反应。

    试了下在~/.pip/pip.conf中输入如下内容,将新的源配置好:
    [global]
    index-url = http://e.pypi.python.org/simple

    最后执行命令:pip install MySQL-python --trusted-host pypi.v2ex.com才能下载成功。。。。

    但是提示了mysql_config没找到的错误,此时我才想起来没安装MySQL,回到了本文开头的步骤。。。。

    安装MySql参考:http://lvwenhan.com/mac/379.html
    http://blog.sina.com.cn/s/blog_9ea3a4b70101ihl3.html
    安装方法是最简单的双击.pkg文件。
    首次登陆只需要执行:/usr/local/mysql/bin/mysql -u root
    因为没有设置密码,所以直接回车即可。
    可以通过执行:/usr/local/mysql/bin/mysqladmin -u root password
    来设置初始root密码,回车输入即可。
    在第一篇文章中提供在bashrc中加入mysql和mysqladmin的别名,但是没起作用。
    使用第二篇文章中的方法成功了:
    方法2:(推荐)相对路径
    终端中输入命令:
    查看路径中有没有需要的路径:
    终端中输入命令:echo $PATH
    没有,继续
    添加需要路径:PATH="$PATH":/usr/local/mysql/bin
    以后
    终端中需输入命令:mysql -u root -p 即可

    另外,值得一提的是:目前搜到的通过命令来打开/关闭Mysql的方法均没用,在系统偏好设置中也无法关闭Mysql,Mysql的状态一直是“running”。

    安装好Mysql后安装MySQLdb,会提示mysql_config找不到,参考:http://blog.chinaunix.net/uid-8487640-id-3183185.html
    1)ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)
    2)编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。(如果不知道mysql_config在哪里,运行命令:whereis mysql_config)
    第二种方法适用于将安装包下载下来再安装多时候。

    之后进入Python执行import MySQLdb,报错:
    ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b5-py2.7-macosx-10.10-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
    Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b5-py2.7-macosx-10.10-intel.egg/_mysql.so
    Reason: image not found
    解决方法参考:http://stackoverflow.com/questions/6383310/python-mysqldb-library-not-loaded-libmysqlclient-18-dylib
    仍然是通过created a symbolic link来解决libmysqlclient.18.dylib的查找难。

    however,又出问题了:
    在python中运行:cursor.execute("create database if not exists mydb")
    会报错:[ERROR 1006 (HY000): Can't create database 'mydb' (errno: 2)]
    最后终于在一篇日志中找到,可能说安装不正确导致。
    所以卸载:http://hearrain.com/2011/01/495
    再次安装,惊奇地发现:在系统偏好设置可以打开/关闭Mysql了!
    也可以创建数据库了!
    bashrc里面做的配置也生效了!
    之前奇奇怪怪的问题也都没有了!

    到此为止,环境终于配置好了!

    相关文章

      网友评论

        本文标题:python连接MySQL

        本文链接:https://www.haomeiwen.com/subject/rfjvqttx.html