一、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服务器上常看是否创建表
