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

