搭建Django链接MySQL流程(python2版)
之前生成选型python3,除了用的python3的pymysql模块之外其他的都是一样的。
mysql>FLUSH PRIVILEGES //修改生效
yum -y remove MariaDB*
安装mysql的rpm包,需按照以下顺序进行安装。
rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-embedded-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm
初始化mysql数据库,获取登录密码
mysqld --initialize --user=mysql
若提示目录下有文件,直接将/var/lib/mysql/ 文件夹下的文件删除干净再次执行。

完成后 进入日志文件查找初始化生成的密码vi /var/log/mysqld.log

启动mysql systemctl start mysqld
修改初始密码
登录mysql
mysql -u root -p
输入日志中的密码
第一次更改密码前所有的操作都是禁止的,依次执行: set password=password('123456');flush privileges; quit;
或者通过命令行 mysqladmin -u root -p"5NUV1wX<;pj=" password 123456
重启mysql: systemctl restart mysqld
查看配置文件: cat /etc/my.cnf
1.3 源码安装
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
安装启动:
gunzip mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64.tar /usr/local/
.创建运行MySQL的用户和组(名字可以任意)
Shell> groupadd mysql
Shell> useradd mysql -g mysql
切换到mysql目录
Shell > mkdir data
修改解压包的权限
Shell> chown –R mysql .
Shell> chgrp –R mysql .
安装MySQL
Shell> bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data ##初始化数据目录
shell> cp -f support-files/my-default.cnf /etc/my.cnf ##将默认配置文件复制到指定目录
shell> bin/mysqld_safe --datadir=/usr/local/mysql/data --user=mysql & ##启动MySQL服务
shell> cp support-files/mysql.server /etc/init.d/mysql.server ##将MySQL加入到服务自启动
Shell> /etc/init.d/mysql.server start ##通过服务启动MySQL
MySQL配置文件my.ini中,在[mysqld]下添加skip-grant-tables,关闭mysql服务并重新开启; 输入命令:mysql -u root -p
回车后,要求输入密码,直接回车跳过,则直接进入MySQL。
这样设置之后,可以直接双击D:\MySQL5.7.10\bin下的mysql.exe启动,而不用输入命令。
update mysql.user set password=PASSWORD('password') where User='root';
2、安装python的相关模块(注意顺序)
2.1、安装python-devel,mysql-devel(其中含有mysql_config模块)
2.2、在pypi.org下载MySQL-python-1.2.5.zip包。
2.3、源码安装MySQL-python,python setup.py install
[root@VirtualBox-web MySQL-python-1.2.5]# python -c "import MySQLdb"
/usr/lib64/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/lib64/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/_mysql.pyc, but /root/MySQL-python-1.2.5 is being added to sys.path
因为是源码安装会有两个MySQL_python-1.2.5-py2.7-linux-x86_64.egg,检查版本一致的话,手动将root下的MySQL_python-1.2.5-py2.7-linux-x86_64.egg删除。
3、修改项目的链接mysql。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'lagou',
'USER': 'root',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
4、测试Django对mysql的连通性。
4.1、django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '192.168.56.104' (113)"),
Django链接不到外网,修改项目setting.py的 ALLOWED_HOSTS = []成ALLOWED_HOSTS = ['*',]
4.2、django.db.utils.OperationalError: (1130, "Host '192.168.56.105' is not allowed to connect to this MariaDB server")
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限
mysql>FLUSH PRIVILEGES //修改生效
4.3、 python manage.py migrate,自动创建web系统使用的表




搭建Django链接MySQL流程(python2版)的更多相关文章
- Django 链接MySQL及数据操作
Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不 ...
- Django链接MySQL,数据库迁移
form表单默认是以get请求提交数据的 http://127.0.0.1:8000/login/?username=admin&password=123 action 1 不写,默认向当前地 ...
- Django—链接MySQL
Djalgo基础配置方法 静态文件配置方法 1 所有的静态文件都放在 static 文件夹下,例如Bootstrap值类的第三方库,通常 static 文件下会创建 css image js 文件,用 ...
- Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法
运行环境: Django版本2.0 ; Mysql 版本 8.0.11; 错误代码: django.db.utils.OperationalError: (1045:Access denied fo ...
- Django 链接mysql
第一步:settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'testdjango ...
- Django链接mysql数据库报错1064
D:\PycharmProjects\autotest>python manage.py makemigrations django.db.utils.ProgrammingError: (10 ...
- django——django链接mysql数据库
1.创建项目 django-admin startproject django_mysql 2.创建App python manage.py startapp app1 3.Mysql数据库配置 (1 ...
- HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM
HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...
- 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)
Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...
随机推荐
- shiro注解
shiro注解权限控制-5个权限注解 RequiresAuthentication: 使用该注解标注的类,实例,方法在访问或调用时,当前Subject必须在当前session中已经过认证. Requi ...
- ACM山东工商 数据结构与算法 第3章 双向栈的操作
#include <stdio.h>#include <stdlib.h> #define SIZE 20//1左 偶 typedef struct hold{ int s ...
- Eclipse上传新项目到GitLab
E&T: Eclipse; GitLab; GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(https://github.com/gitlabhq/gitlabhq ...
- ECharts 从后台动态获取数据 (asp.net)
(一) 使用工具 visual studio 2017:Web开发:asp.net (代码中的js引用路径以及ajax方法调用的url,记得修改哦) (二) 准备工作(此处写给和我一样小白) 1.动态 ...
- 获取【请求体】数据的3种方式(精)(文末代码) request.getInputStream() request.getInputStream() request.getReader()
application/x- www-form-urlencoded是Post请求默认的请求体内容类型,也是form表单默认的类型.Servlet API规范中对该类型的请求内容提供了request. ...
- day-12函数对象
函数默认值的细节 如果函数的默认参数的默认值为变量,在所属函数定义阶段一执行就被确定为当时变量存放的值,后面变化不会再变化 a = 100 def fn(num=a): a = 200 fn() 三元 ...
- maven+eclipse+jboss+oracle 12c+memcached+AngularJS
Maven 参考梁总的: Eclipse Java EE IDE for Web Developers集成的Maven 3 指向自己安装的 Maven Maven下载.安装和配置(二) 在本地配置ma ...
- spring事务详解(三)源码详解
系列目录 spring事务详解(一)初探事务 spring事务详解(二)简单样例 spring事务详解(三)源码详解 spring事务详解(四)测试验证 spring事务详解(五)总结提高 一.引子 ...
- 解决STM32 I2C接口死锁在BUSY状态的方法讨论
关于STM32的I2C接口死锁在BUSY状态无法恢复的现象,网上已有很多讨论,看早几年比较老的贴子,有人提到复位MCU也无法恢复.只有断电才行的状况,那可是相当严重的问题.类似复位也无法恢复的情况是存 ...
- MySQL is running but PID file could not be found
在Linux 中,当你启动或者重启 MySQL 时,报 关于 PID file 的错误 解决方法 第一步:找到 mysql 中 data 目录下的 mysql-bin.index 文件,然后删除 ...