python安装MySQL

一、安装MySQL数据库

  1. https://dev.mysql.com/downloads/mysql/ 下载mysql免费社区版,我的版本是MySQL Community Server 5.7.21 ,Microsoft Windows,x86 64-bit,文件名是mysql-5.7.21-winx64.zip

  2. 解压文件到目标文件夹,我的路径是 D:\mysql-5.7.21-winx64

  3. 新建配置文件my.ini,根据自己的路径添加配置。或有mydefault.ini文件重命名mydefault.ini为my.ini,修改内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [mysqld]
    #设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=D:\mysql-5.7.21-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:\mysql-5.7.21-winx64\data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
  4. 以管理员身份运行 C:\Windows\System32\cmd.exe ,不然安装mysql时会报Install/Remove of the Service Denied错误

  5. mysqld - -initialize-insecure 生成 D:\mysql-5.7.21-winx64\data 文件夹,不然会报MySQL 服务无法启动,服务没有报告任何错误。有人用mysqld –initialize –user=mysql –console,在控制台最后一行会出现随机生成的初始密码,即root密码,一定要记下来,我一开始用这种方法试了密码w9dV>4J*Mj&e。

  6. 运行 mysqld - -install

  7. 运行 net start mysql

  8. mysql服务已经启动了,我们输入mysql -u root -p 回车登录mysql数据库,要求输入密码,刚刚安装完是没有密码的,直接回车。如果5中用了第二种方法输入初始密码w9dV>4J*Mj&e。

    mysql

  9. alter user root@localhost identified by “password”; 修改root密码,注意分号。

  10. exit;退出登录,然后重新登录mysql -u root -p ,此时直接回车没用了,输入修改后的新密码,成功了!

  11. net stop mysql 关闭数据库服务mysql2

二、安装MySQL驱动

  1. 我选择安装mysql-connector驱动,由于我用的是Anaconda,所以运行命令conda install mysql-connector-python 。用python的同理pip

三、测试连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import mysql.connector
conn = mysql.connector.connect(user='root', password='password', database='test') # 提前打开数据库服务,test数据库要先建好
cursor = conn.cursor()
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
cursor.execute('insert into user (id, name) values (%s, %s)', ['1', 'Michael'])
print(cursor.rowcount) # 1
conn.commit()
cursor.close()
cursor = conn.cursor()
cursor.execute('select * from user where id = %s', ('1',))
values = cursor.fetchall()
print(values) # [('1', 'Michael')]
cursor.close()

ps:更多的相关内容请访问廖雪峰python网站