Django框架学习(二):连接MySQL数据库并对数据进行操作
Django规定,如果要使用数据库模型,必须要创建一个app。
MySQL的安装配置
window系统
前往MySQL官网https://dev.mysql.com/downloads/mysql/下载window版的MySQL Community Server 8.0.15的压缩包,如下图:
把压缩包解压到某一路径,我解压到D:\Program Files
,在刚刚解压的文件夹D:\Program Files\mysql-8.0.15-winx64
内,新建一个data文件夹,并新建一个my.ini文件,里面的内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Program Files\mysql-8.0.15-winx64
# 设置 mysql数据库的数据的存放目录,即刚刚新建的data文件夹内
datadir=D:\Program Files\mysql-8.0.15-winx64\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
以管理员身份运行终端,进入mysql目录下的bin文件夹:
cd D:\Program Files\mysql-8.0.15-winx64\bin
运行一下命令初始化数据库:
mysqld --initialize --console
执行完成后会产生root用户默认密码,这个密码务必要记住,后面会用到:
...
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...
然后执行安装命令:
mysqld install
然后便可以开启mysql服务:
net start mysql
若开启服务时出现系统错误2,则先卸载再重新安装:
mysqld remove
mysqld install
开启服务后,执行以下命令进入mysql的终端,密码为之前初始化数据库时生成的默认密码:
mysql -uroot -p
然后执行以下命令修改密码永不过期,这样可以避免密码失效的问题:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
然后执行以下命令修改密码模式,否则后面再Django中连接数据库时会出现RuntimeError: cryptography is required for sha256_password or caching_sha2_password
错误:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
然后刷新权限:
FLUSH PRIVILEGES;
之前的默认密码不好记,这里我们改为自己熟悉的密码