一、mysql服务器
系统版本:CentOS6.8
IP :10.0.0.51
版本
1、授权root远程登录
grant all on *.* to 'root'@'%' identifide by '123456'; |
2、创建一个名为"cmdb"的数据库
create database cmdb; |
3、编辑 /etc/my.cnf 添加如下
binlog_format=ROW |
4、如果不添加上述语句,Djang创建数据的时候会报如下错误,原因是Django的创建的数据库事务基于行的日志记录
django.db.utils.InternalError: (1665, 'Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEM ENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transactio n isolation level is READ COMMITTED or READ UNCOMMITTED.') |
5、重启mysql服务
/etc/init.d/mysqld restart |
二、Django 连接mysql数据库
1、先创建一个Django项目
2、打开pycharm的Terminal终端运行" python manage.py startapp app01 "命令创建一个名为"app01"的app应用
3、在untitled2项目的settings.py的INSTALLED_APPS列表添加app01
4、在untitled2项目的settings.py的DATABASES列表添加连接mysql数据库的参数
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'cmdb', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '10.0.0.51', 'PORT': '3306', } } |
5、在app01文件夹的models.py中创建一个Article表
from django.db import models # Create your models here. class Article(models.Model): title = models.CharField(max_length=60,default='title') content = models.TextField(null=True) |
6、由于Python3按装Django的Mysqldb不支持连接mysql,所有需要安装pymysql模块
python -m pip install pymsql |
注意:由于我已经安装好pymysql,所以提示如下
7、在untitled2目录下的__init__.py添加如下使pymysql代替MySQldb连接mysql数据库
import pymysql pymysql.install_as_MySQLdb() |
8、打开pycharm的Terminal终端运行如下命令
python manage.py makemigrations |
python manage.py migrate |
9、在mysql服务器上常看是否创建表