文章目录
MySQL是一款跨平台开源的关系型数据库
安装MySQL
安装MySQL
安装社区版
这里最好选用5.7或8.0的最新版本
进行MySQL的下载,使用本地一直无法连接,用了迅雷6.9M/s。。。。
将文件解压
将其解压完后,剪切到c盘,放置根目录即可
在文件夹新建配置文件my.ini,先新建txt然后修改。
具体在github36节的课里
https://github.com/HaddyYang/django2.0-course
将其clone到本地
在里面的my.ini中复制,注意自己下载的版本,适当修改文件名
新建data文件
初始化
初始化密码比较复杂,可以考虑没有密码的方式
mysqld --initialize-insecure --user=mysql --console
发现如上问题,缺少动态链接库
可以去下载一下微软常用运行库合集然后安装
下载地址:https://pan.baidu.com/s/1gBgg97Ytb8siZS860PELMg (密码:8yin)
运行成功
安装mysql服务
mysqld --install
启动服务
net start mysql
进入数据库,指定root用户,就是初始化的
mysql -u root -p
输入密码回车就可进入
这时可以修改密码
alter user 'root'@'localhost' identified by 'test123456';
已经修改后
exit
退出mysql
重新登入需要输入密码
创建数据集,对应设置 默认字符集规则校对规则
create database mysite_db default charset=utf8mb4 default collate utf8mb4_unicode_ci;
可以查看数据库,可以发现数据库已创建
show databases;
在setting文件中最早是root用户,如果用这个文件权限太高,如果获取会发生安全问题,如删除整个数据库
创建用户
创建用户
create user 'ytc'@'localhost' identified by 'ytc123456';
创建后无法访问任何数据库,没有权限,所以要让他访问mysite_db,要给她权限
grant all privileges on mysite_db.* to 'ytc'@'localhost' ;
刷新权限,有了这个数据库全部权限
flush privileges;
这时可以测试一下这个用户的权限
先关闭数据库
再回去设置配置
测试mysql能否使用
回到通过github下载的文件的mysite中,在这个文件家中
使用命令行启动虚拟环境,如果已安装Django可以不用,在自己电脑尝试找不到路径,也许本来也没用虚拟环境,故使用自己已经安装django的环境
..\Scripts\activate
我有一个虚拟环境TensorFlow已安装所以激活该环境
应用迁移文件初始化数据库
python manage.py migrate
发现只装了django还无法解决问题
这时需要安装模块
pip install django-ckeditor
再次输入manage文件成功
这时问我是否安装mysql的客户端
我们要安装一下
pip install mysqlclient
安装不了mysqlclient
如果安装不了的话可以下载whl包
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
直接编译好的二进制文件
直接下载cp代表python 36表示python3.6 然后找准32位或者64位即可,把这个文件包放入cmd命令行所在的位置,然后运行即可成功
重新使用manage.py
python manage.py migrate
可以发现应用成功
此时再打开本地服务
python manage.py runserver
打开本地网址
发生如下错误
按ctrl+c退出runserver
python manage.py createcachetable
再执行本地服务
python manage.py runserver
成功
mysql路径加入环境变量
迁移数据
先把setting改为之前的sqlite,改注释下面的
python manage.py dumpdata>data.json
再把配置换成mysql
python manage.py loaddata data.json
会因为重复报错
解决Duplicate办法
打开mysql界面,使用mysite_db数据库
use mysite_db;
看有那些表
此时选取django_content_type表
select * from django_content_type;
可以发现之前pk=7,7这条重复了,我们把整个表都删了
delete from django_content_type;
和外键有关联,则把它也删了
delete from auth_permission;
再把之前的也删了
此时再导入数据库
python manage.py loaddata data.json
此时再开启服务器
python manage.py runserver
博客中的文章出现了
mysql时区问题
发现日期归档都为0了,mysql没启用时区有关系
首先访问django的帮助网页
https://docs.djangoproject.com/en/3.0/ref/settings/
用网页自带搜索工具搜索timezone,可以直接把时区关掉解决这不是太好
搜索mysql,在这里要把语言设置为英语,一开始改了中文就搜不到了
按ctrl+f查找timezone
翻译中文
点卡第二个跳到mysql的官网,windows需要下载时区表再安装
linux和mac自带
如果你的电脑里没有时区表就打开蓝色网页下载
下面网站中找到如下,如果没有下载地址
显示要下载的版本,高于5.7下载下面的
解压后有sql文件
之前的文档说让你再导入sql文件即可
在sql文件的文件夹用cmd
mysql -u root -p mysql <timezone_posix.sql
刷新后问题解决