dorian

导航

 

  本项目中包括两个关系数据库,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:\DjangoDevelopment\mysql5.7.13

  path里添加:%MYSQL_HOME%\bin

2.4.06 创建数据库目录及配置文件

  此版本MySQL并没有创建data目录及my.ini。在MYSQL_HOME目录下创建data目录,建议将data目录设为D:\DjangoDevelopment\mysql5.7.13\data。另外,创建Uploads目录作为MySQL导入导出的目录。my.ini建议放在MYSQL_HOME目录下:

[mysqld]
port=3306
character_set_server=utf8
basedir=D:\DjangoDevelopment\mysql5.7.13
datadir=D:\DjangoDevelopment\mysql5.7.13\data
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:\DjangoDevelopment\mysql5.7.13\Uploads

[client]   
default-character-set=utf8

  完整的目录结构如下:

 2.4.07 初始化数据库

  以管理员身份进入CMD(win+X),D:\DjangoDevelopment\mysql5.7.13\bin目录,执行:

  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:\Users\chen>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:\Users\chen> net stop MySQL57

  C:\Users\chen> net start MySQL57

    C:\Users\chen>mysql -uroot -pChengl139!

    此时可以对数据库进行相关作。

  创建数据库

  CREATE DATABASE student CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;

  用Navicat访问数据库

 

posted on 2020-03-03 20:38  dorian  阅读(389)  评论(0编辑  收藏  举报