python连接MySQL

首先,要安装好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里面做的配置也生效了!
之前奇奇怪怪的问题也都没有了!

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

    原文作者:顾慎为
    原文地址: https://www.jianshu.com/p/f00a63fa50f0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞