Python连接MySQL数据库的模块有2个:
1 PyMysql
2 MySqlClient
废话不多说,简而言之MySqlClient执行效率更好,因此在实际工作中建议使用它。
mysqlclient的安装方法:
#不安装这个,直接安装mysqlclient,会报错:mysql_config not found
yum install mysql-devel
pip3 install mysqlclient
PyMysql(生产环境不推荐):
Python3.6.7以上版本,安装PyMysql版本后,即便也安装了MySqlClient,也一直报错(具体原因未知)。在django的project目录里,如project名称为school,则目录为school/school/init.py,添加如下代码:
import pymysql
pymysql.install_as_MySQLdb()
使用MySqlClient,无需在__init__.py里,添加任何代码。
settings.py,添加如下代码:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'NAME': 'schoolDB',
'USER': 'django',
'PASSWORD': 'XXXXX',
'HOST': '192.168.0.100',
'PORT': '3306',
}
}
Mysql配置
create database schoolDB;
create user 'django'@'192.168.0.%' identified by 'XXXXX';
grant all on schoolDB.* to 'django'@'192.168.0.%';
FLUSH PRIVILEGES;
select host, user from mysql.user;
show grants for 'django'@'192.168.0.%' \G