django 配置mysql 数据库
在centos 7 下安装mysql
安装
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server -y
配置检查指令
systemctl start mysqld #启动mysql 服务 #设置mysql开机启动 systemctl enable mysqld systemctl daemon-reload #查找root密码 #mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改: grep \'temporary password\' /var/log/mysqld.log #登录mysql,密码为刚才查找的密码 mysql -u root -p # 启动重启 systemctl start mysqld#启动mysql 服务 service mysqld restart # 重启服务
远程连接mysql数据库
错误信息: SQL Error (1130): Host ‘X.X.X.XX’ is not allowed to connect to this MySQL server
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 mysql 数据库里的 user表里的 host项
把localhost改称%
登录mysql服务器,执行以下命令
mysql -u root -p
mysql>grant all privileges on *.* to \'root\'@\'183.239.156.162\' identified by \'密码\' with grant option;
mysql>use mysql;
mysql>update user set host = ‘%’ where user =’root’;
mysql>flush privileges;
mysql>quit
django–>项目名–>settings.py
django 版本 2.2.1
安装mysql 驱动
pip install pymysql
配置项目 __init__.py
#!/usr/bin/python3 import pymysql pymysql.install_as_MySQLdb()
DATABASES = { \'default\': { \'ENGINE\': \'django.db.backends.mysql\', \'HOST\': \'127.0.0.1\', \'PORT\': \'3306\', \'NAME\': \'autoManagement\', \'USER\': \'root\', \'PASSWORD\': \'123456\', # \'OPTIONS\': { # \'init_command\': "SET sql_mode=\'STRICT_TRANS_TABLES\'", # }, } }
执行数据库迁移 如生成迁移报错 请检查django 版本 建议使用2.1.11
python manage.py makemigrations python manage.py migrate