本项目中包括两个关系数据库,sqlLite和mysql。sqlLite数据库是Django自带的,mysql需要自己配置。
1 sqlLite配置
sqlLite是Django默认数据库。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # 数据库引擎 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
只需要在PyCharm Terimal终端执行数据迁移指令,就会自动生成sqlLite数据库。
执行数据迁移的指令如下:
python manage.py makemigrations python manage.py migrate
2 mysql配置
2.1 mysql数据库配置
MYSQL_SERVER = '' # 服务器域名或IP DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': '', # 数据库名 'USER': 'root', # 数据库用户名 'PASSWORD': '', # 数据库密码 'HOST': MYSQL_SERVER, 'PORT': '3306', # 数据库商品,默认3306 # 'OPTIONS': { # "init_command": "SET sql_mode='STRICT_TRANS_TABLES'", # } } }
2.2 mysql数据库创建
mysql数据库可以创建在本地windows系统,也可以创建在远程服务器上。只要有数据库名、数据库IP,数据库用户名和密码就可以访问。
要操作mysql数据库的前提是:数据库必须存在。
2.3 在PyCharm Terminal终端执行数据迁移命令,如果正确,则表示连接成功。
2.4 本地mysql部署
程序员在开发的时候,需要部署本地环境,有本地mysql数据库,一方面速度快,效率高,另一方面也不容易破坏服务器的数据。所以,本地部署mysql数据库非常重要。
本地部署mysql步骤如下:
2.4.01 检查及卸载原版本
打开windows系统服务有以下两种方式:
右击"我的电脑/计算机",点击管理,打开计算机管理,依次选择服务和应用程序—服务。
使用快捷命令:win+r,在窗口中输入services.msc,即可打开服务。
2.4.02 停止和卸载mysql服务
以管理员身份进入cmd
停止命令:net stop mysql
卸载命令: mysqld –remove mysql
2.4.03 下载Mysql安装包
本人下载的5.7.13部署正常。mysql下载
2.4.04 检查安装包目录
2.4.05 配置环境变量
安装前先配置下环境变量:
右击我的电脑/计算机,点击属性,打开高级系统设置,点击环境变量。
变量名:MYSQL_HOME
变量值:D:DjangoDevelopmentmysql5.7.13
path里添加:%MYSQL_HOME%in
2.4.06 创建数据库目录及配置文件
此版本MySQL并没有创建data目录及my.ini。在MYSQL_HOME目录下创建data目录,建议将data目录设为D:DjangoDevelopmentmysql5.7.13data。另外,创建Uploads目录作为MySQL导入导出的目录。my.ini建议放在MYSQL_HOME目录下:
[mysqld] port=3306 character_set_server=utf8 basedir=D:DjangoDevelopmentmysql5.7.13 datadir=D:DjangoDevelopmentmysql5.7.13data server-id=1 sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION lower_case_table_names=1 innodb_file_per_table = 1 log_timestamps=SYSTEM log-error = error.log slow_query_log = 1 slow_query_log_file = slow.log long_query_time = 5 log-bin = binlog binlog_format = row expire_logs_days = 15 log_bin_trust_function_creators = 1 secure-file-priv=D:DjangoDevelopmentmysql5.7.13Uploads [client] default-character-set=utf8
完整的目录结构如下:
2.4.07 初始化数据库
以管理员身份进入CMD(win+X),D:DjangoDevelopmentmysql5.7.13in目录,执行:
mysqld --initialize-insecure
执行完毕之后,在data目录下会生成很多文件。
2.4.08 注册并启动MySQL服务
以管理员身份进入cmd
安装服务:mysqld –install MySQL57安装服务(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)
启动服务:net start MySQL57启动MySQL服务。
2.4.09 登录并修改密码
由于初始化设置或版本差异,有些版本安装完成后root是空密码,有些是临时密码,我们需要查看error log日志提示。
由于初始化设置或版本差异,有些版本安装完成后root是空密码,有些是临时密码,我们需要查看error log日志提示。
打开error日志,发现我这里是空密码。
2.4.10 登录数据库
在cmd登录数据库
C:Userschen>mysql -uroot
1.4.11 常用操作
mysql> user mysql
mysql> update user set authentication_string=PASSWORD("Chengl139!") where User='root';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
mysql> exit
停止启动服务:
C:Userschen> net stop MySQL57
C:Userschen> net start MySQL57
C:Userschen>mysql -uroot -pChengl139!
此时可以对数据库进行相关作。
创建数据库
CREATE DATABASE student CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
用Navicat访问数据库