在mac上用python连接远程mysql数据库需要在本机安装mysql吗

发布网友 发布时间:2022-04-22 21:26

我来回答

2个回答

懂视网 时间:2022-04-30 00:47

。复制以下代码,并执行:

import MySQLdb
如果执行后的输出结果如下所示,意味着你没有安装 MySQLdb 模块:

Traceback (most recent call last):
 File "./hello.py", line 3, in <module>
 import MySQLdb
ImportError: No module named MySQLdb

可以访问:https://pypi.python.org/pypi/MySQL-python从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。

如果选择二进制文件发行版本的话,安装过程基本安装提示即可完成。如果从源代码进行安装的话,先下载源码然后解压缩,进入解压缩后的目录并执行:

python setup.py build

如果出现以下错误:

sh: mysql_config: command not found
Traceback (most recent call last):
 File "setup.py", line 17, in <module>
 metadata, options = get_config()
 File "/Users/macbook/Downloads/MySQL-python-1.2.5/setup_posix.py", line 43, in get_config
 libs = mysql_config("libs_r")
 File "/Users/macbook/Downloads/MySQL-python-1.2.5/setup_posix.py", line 25, in mysql_config
 raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

则去掉mysql_config=XXX的注释,并改成mysql_config = /usr/bin/mysql_config(以mysql_config文件所在机器上的目录为准,如果不知道其目录,可以使用sudo find / -name mysql_config命令查找)

完成该步骤之后可能仍然会出错:

Traceback (most recent call last):
 File "./hello.py", line 3, in <module>
 import MySQLdb
 File "build/bdist.macosx-10.10-intel/egg/MySQLdb/__init__.py", line 19, in <module>
 File "build/bdist.macosx-10.10-intel/egg/_mysql.py", line 7, in <module>
 File "build/bdist.macosx-10.10-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/macbook/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.10-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
 Referenced from: /Users/macbook/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.10-intel.egg-tmp/_mysql.so
 Reason: image not found

此时,需要执行命令

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

注意,该软连接的实际目录部分以自己机器上的目录为准


测试代码:

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("dburl","username","password","dbname" )

# 使用cursor()方法获取操作游标 
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接
db.close()

执行结果:

Database version : 5.6.16-log 






mac机上python操作mysql数据库

标签:mac   python mysql   traceback   

热心网友 时间:2022-04-29 21:55

在mac上用python连接远程mysql数据库需要在本机安装mysql吗
mysql-python 是需要本地安装了mysql才行。你安装的xmapp里面的mysql, mysql-python可能没找到正确的配置。
如果不是生产环境,使用 mysql-connector 替代,这个是 mysql官方推荐的驱动,纯python实现。不需要本地配置本地mysql。使用方法和 mysqldb一样。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com