Mac系统下通过Python访问远程MySQL数据库

需求如标题所见,整个过程还是碰到了不少坑,现将过程记录如下,供参考:

一、Mac下安装MySQL客户端管理工具

这一步并不是Python访问MySQL所必须的,不过我们也常常有通过可视化工具访问数据库的需求。

不管是什么系统,MySQL官方都提供了的客户端管理工具(mysql-workbench),直接附上链接,按提示安装就好。

官网下载地址:https://dev.mysql.com/downloads/workbench/

界面截图:

mysql-workbench截图 by 企鹅Sheldon

 

 

 

二、安装Python Connector

依照以前的经验,python脚本访问mysql数据库,肯定也需要相关的connector工具包,不过实践中还是走了很多弯路。

先说一下最终解决办法:

sudo pip install PyMySQL

一行命令就搞定!直接通过PyMySQL模块访问数据库,剩下的就是在脚本中import pymysql.cursors,具体示例见第三部分。

 

----------------------------------------------------------------------

接下来,就是我走过的弯路了,心急的可以直接跳过。

我先是按经验在官网(https://dev.mysql.com/downloads/connector/python/)下载安装了对应版本的mysql-connector-python。

在验证安装是否成功时报错:

>>> import mysql.connector as mc
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "mysql.py", line 5, in <module>
   import MySQLdb
ImportError: No module named MySQLdb

可见还需要安装MySQLdb。

然后参考(http://www.runoob.com/python/python-mysql.html)尝试通过源码包安装,报错如下:

raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: SSL is required

最后尝试通过pip或easy_install的方式安装,都遇到错误:

Collecting mysql-python
 Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip
   Complete output from command python setup.py egg_info:
   sh: mysql_config: command not found
   Traceback (most recent call last):
     File "<string>", line 1, in <module>
     File "/private/var/folders/96/8wg559294wz2h0ymw3ypjqdc0000gn/T/pip-install-NmD6sR/mysql-python/setup.py", line 17, in <module>
       metadata, options = get_config()
     File "setup_posix.py", line 43, in get_config
       libs = mysql_config("libs_r")
     File "setup_posix.py", line 25, in mysql_config
       raise EnvironmentError("%s not found" % (mysql_config.path,))
   EnvironmentError: mysql_config not found
   
   ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/96/8wg559294wz2h0ymw3ypjqdc0000gn/T/pip-install-NmD6sR/mysql-python/

根据“mysql_config not found”的提示,估计还是mysql自身安装不完全,但后续就没再继续尝试安装其他工具包了。

最终还是通过PyMySQL模块达成目标。

----------------------------------------------------------------------

 

 

 

三、Python 访问MySQL代码示例

#-*-coding:utf-8-*-
# Time:2019/01/07
# Author:Chengweinan

import pymysql.cursors


# mysql init
def get_cursor():
   connection = pymysql.connect(host='XXX,XXX,XXX,XXX',
                                user='yourUserName',
                                password='yourPassword',
                                db='yourDatabaseName',
                                charset='utf8mb4',
                                cursorclass=pymysql.cursors.DictCursor)
   return connection.cursor()


def execute():
   cursor = get_cursor()
   cursor.execute("select * from XXX")
   result = cursor.fetchall()
   for row in result:
       print row


if __name__ == "__main__":
   execute()

 

 

 

----------------------------------------------------------------------

参考链接:

1. https://blog.csdn.net/chinagrowing/article/details/81209873

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值