文章目录
一、配置Django使用MySQL
1. 创建MySQL数据库
虽然Django可以通过生成迁移文件、执行迁移命令来生成数据表,但是却不会为用户创建数据库,因此想要配置Django使用MySQL数据,需要用户手动先创建一个MySQL的数据库,所以下面先创建一个名为db4_test2
的MySQL数据库:
$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.30-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jing_dong |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
mysql> create database db4_test2 charset=utf8;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db4_test2 |
| jing_dong |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)
mysql> use db4_test2;
Database changed
mysql> show tables;
Empty set (0.00 sec)
2. 创建Django项目
为了演示方便,通过【Django入门】——从零开始创建并启动一个Django项目中的方式创建一个名为test2
的Django项目。
3. 配置使用MySQL
为了在创建的Django项目中使用名为db4_test2
的MySQL数据库,需要在项目的settings.py
文件下进行如下配置:
# settings.py
......
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
'ENGINE': 'django.db.backends.mysql',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'NAME': 'db4_test2', # 使用的数据库名称,数据库必须手动创建
'USER': 'root', # 连接MySQL数据库的用户名
'PASSWORD': 'XXXXXX', # 用户对应的密码
'HOST': 'localhost', # 指定MySQL数据库所在电脑的IP
'PORT': 3306, # MySQL服务的端口号
}
}
......
4. 配置问题排查
实际上,此时如果你尝试使用命令python manage.py runserver
来启动Django服务器,可能会出现下述错误:
$ python manage.py runserver
......
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
为了解决上述问题,需要:
- 首先,使用下列命令安装
pymysql
:
$ pip install pymysql
- 然后,在项目的
__init__.py
文件写入下列代码:
import pymysql
pymysql.install_as_MySQLdb()
至此,即可在Django项目test2
中使用MySQL数据库db4_test2
。
二、使用MySQL日志文件
1. 修改配置文件
为了能够使用MySQL数据库的日志文件,需要首先使用以下命令打开其配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
然后对配置文件做相应修改,具体地是将下列两行的注释取消:
general_log_file = /var/log/mysql/mysql.log
general_log = 1
2. 重启MySQL服务
完成配置文件的修改之后,需要使用以下命令重启MySQL服务:
sudo service mysql restart
3. 实时查看日志
采用tail
命令可以实时显示写入日志文件中的记录:
sudo tail -f /var/log/mysql/mysql.log