我在用pycharm中连接数据库的时候,因为不是2.x版本,所以得安装mysqlclient。直接使用pip安装的话一般都会报错。

以下是我在mac终端下安装mysqlclient的具体步骤(血泪史)。

1.首先,可以用pip install mysqlclient命令先尝试一下,如果出错的话,进行下一步。

2.安装mysql connecter,使用mac自带的brew安装工具进行安装。在终端输入命令brew install mysql-connector-c

这一步应该不会有什么问题,如果出现updating homebrew的话,耐心等一下或者重新输几遍命令就好了。

如果出错,可以尝试输入brew unlink mysql命令

3.然后再次输入pip install mysqlclient,如果还是报错的话,在/usr/local/bin目录下找到mysql_config这个文件。

具体步骤,打开文件夹,command+shift+g弹出搜索框,输入文件目录/usr/local/bin,找到mysql_config这个文件。

macbook mysql客户端 mac上的mysql客户端_macbook mysql客户端

然后在终端输入cd /usr/local/bin 进入bin 文件夹

macbook mysql客户端 mac上的mysql客户端_pymysql_02

修改权限,从只读改成可修改:

chmod 777 mysql_config

然后输入:

vim mysql_config

进入文件中。按i键进入到修改模式

将下面的内容进行替换:

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "

替换成:

# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

然后输入:wq保存并退出文件

 

3.再次输入命令:pip install mysqlclient 这次还会报错

报错内容与之前不同:error: command 'gcc' failed with exit status 1

所以可能要安装openssl和gcc

其中openssl是被苹果系统弃用了。所以需要重新下载(这是简书上的步骤,按照该步骤执行即可)

macbook mysql客户端 mac上的mysql客户端_mysqlclient_03

 

macbook mysql客户端 mac上的mysql客户端_macbook mysql客户端_04

在安装的时候,可能会给出在编译程序时使用brew 安装的openssl库引用方式。按照系统的提示执行命令行就行了。

最好是连接到/usr/local/opt/openssl/lib下

 

4.下载gcc

brew install gcc

macbook mysql客户端 mac上的mysql客户端_pymysql_05

5.再次输入pip3 install mysqlclient,这时候应该就能下载成功了!

(pip3是把下载的路径放到python3中。pip一般是在python2中)

macbook mysql客户端 mac上的mysql客户端_pymysql_06

到这里,一般mysqlclient就下载完成了。

下面为连接mysql数据库的步骤:

1.下载pymysql

 

macbook mysql客户端 mac上的mysql客户端_python3_07

如上图所示,需要输入的命令分别为pip3 install pymysql     import pymysql       pysql.VERSION

在这里提前说明一下。python3一般用到的是pymysql而不是mysqldb,如果用mysqldb的话可能会报错。

在极客学院论坛上看到的原因截图:

macbook mysql客户端 mac上的mysql客户端_mysqlclient_08

好了,下面我们开始连接数据库。

新建一个.py文件。

#!/usr/bin/env python
# -*- encoding: UTF-8 -*-
"""
@file: python1.py
@time: 2019-12-07 17:13
"""
import pymysql
pymysql.install_as_MySQLdb()
# 打开数据库连接
db = pymysql.connect("localhost","账户(一般为root)","用户密码","数据库名")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()

点击运行,如果运行成功并显示出数据库版本号,则连接成功。

创建数据库语句

import mysql
# 打开数据库连接
db = mysql.connect("localhost","root","123456","tsql")
#使用cursor()方法获取操作游标
cursor = db.cursor()
# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,
         SEX CHAR(1),
         INCOME FLOAT)"""
cursor.execute(sql)
# 关闭数据库连接
db.close()

插入信息语句

macbook mysql客户端 mac上的mysql客户端_macbook mysql客户端_09

执行后可以看到数据库多了一个EMPLOYEE的表和几条数据(用的navicat)

macbook mysql客户端 mac上的mysql客户端_macbook mysql客户端_10

如果数据库收到警告⚠️需要设置主键。

到此为止。就可以python就连接上mysql数据库并使用啦。

参考了几位大神的博客,链接放在下面:

安装mysqlclient:

连接数据库:

还看见很多人在安装mysqlclient的时候用到了wheel。下次可以试试看。