python连接mysql

exceptions: django2.2/ mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

陌路散爱 提交于 2020-01-22 03:30:12
在centos部署python应用后访问页面,显示如下异常信息 报错环境 python=3.6,django=2.2 …… django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3. 解决方法: Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql,使用 pip install pymysql 进行安装,然后在工程文件__init__.py添加以下代码即可。 #安装pymysql pip install pymysql #__init__.py import pymysql pymysql.install_as_MySQLdb() 第一种: django降到2.1.4版本就OK了 第二种(仍使用django 2.2版本): #找到Python环境下 django包,并进入到backends下的mysql文件夹 cd /opt/anaconda3/envs/envAGC_Mini/lib/python3.6/site-packages/django/db/backends/mysql #文件列表如下 # 找到base.py文件,注释掉 base.py

django连接mysql出现"django.db.utils.OperationalError: (2059, "Authentication plugin 'caching_sha"错误的解决方法

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-22 02:56:32
django连接mysql数据库出现"Authentication plugin ‘caching_sha2_password’ cannot be loaded"错误的解决方法 最近在练习python(pycharm)+django搭建网站时,连接mysql数据库,出现错误: django.db.utils.OperationalError: (2059, "Authentication plugin ‘caching_sha2_password’ cannot be loaded: …) 经过检查发现了问题的所在——主要是mysql8.0版本的问题。 (最近才从官网上面下载最新的mysql数据库,之前都是用的sql server数据库 0_0 ) 目前最新的mysql8.0数据库对用户密码的加密方式为caching_sha2_password, django暂时还不支持这种加密方式。所以只需将加密方式改为老版的即可。 解决方法: 在cmd命令中以root的身份登录mysql。 分别输入以下命令查看加密方式: > use mysql ; > select user,plugin from user where user = 'root' ; 修改加密方式: > alter user 'root' @ 'localhost' identified with mysql_native

python使用MySQLdb模块连接MySQL

百般思念 提交于 2020-01-22 02:19:39
1.安装驱动 目前有两个MySQL的驱动,我们可以选择其中一个进行安装: MySQL-python:是封装了MySQL C驱动的Python驱动;mysql-connector-python:是MySQL官方的纯Python驱动。 MySQL-python: 安装教程: http://www.cnblogs.com/jfl-xx/p/7299221.html mysql-connector-python: 安装教程: http://www.cnblogs.com/Bgod/p/6995601.html 2.测试连接 这里使用MySQL-python驱动,即MySQLdb模块。 test_connect.py 1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 import MySQLdb 5 6 # 打开数据库连接 7 db = MySQLdb.connect("localhost", "root", "123456", "test") 8 9 # 使用cursor()方法获取操作游标 10 cursor = db.cursor() 11 12 # 使用execute方法执行SQL语句 13 cursor.execute("SELECT VERSION()") 14 15 # 使用 fetchone() 方法获取一条数据库。 16

我的数据库

余生长醉 提交于 2020-01-21 18:50:34
django的数据库SQLite,settings里面都不用配置了,好方便。 1,初始化数据库 python manage.py migrate 2,创建超级管理员 python manage.py createsuperuser 3,登录管理员 http://127.0.0.1:8000/admin/ 看到内容 然鹅,考虑到以后我的网站,万一我心血来潮,要上传一大堆的东西,这个好像不是那么好管理,查了一下,学习成本还是有的。还是用回我最爱的mysql吧。。额呵呵呵。 1,安装pymysql,python连接mysql的桥梁,3.5之前有个mysqldb好像,我现在用3.7了。。。所以用这个pymysql插件 pip install pymysql 2,配置settings DATABASES = { 'default' : { 'ENGINE' : 'django.db.backends.mysql' , 'NAME' : 'myweb' , 'USER' : 'nancy' , 'PASSWORD' : '1234567' , 'HOST' : '127.0.0.1' , 'PORT' : '3306' , } } 3,mysql中放myweb数据库 4,在myweb/ init .py文件中加入以下代码: import pymysql pymysql . install_as

MySQL数据库之综述

旧街凉风 提交于 2020-01-19 10:12:52
内容简介:本篇文章旨在较全面介绍MySQL数据库,数据来源维基百科 一、MySQL数据库概述 MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购昇阳微系统公司,MySQL成为Oracle旗下产品。 MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如中文维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。 但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社群们对于Oracle是否还会持续支持MySQL社群版(MySQL之中唯一的免费版本)有所隐忧,MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB。而原先一些使用MySQL的开源软件逐渐转向MariaDB或其它的数据库。例如中文维基百科已于2013年正式宣布将从MySQL迁移到MariaDB数据库。 二、MySQL数据库历史 2008年1月16日,Sun

python下的MySQLdb使用

蹲街弑〆低调 提交于 2020-01-18 07:59:57
下载安装MySQLdb <1>linux版本 http://sourceforge.net/projects/mysql-python/ 下载,在安装是要先安装setuptools,然后在下载文件目录下,修改mysite.cfg,指定本地mysql的mysql-config文件的路径 <2>windows版本 网上搜索到一个http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe 安装后import MySQLdb会出现 DeprecationWarning: the sets module is deprecated 这样一个警告,google之 原因是2.6不知sets这个模块,不过已经添加了set内置函数。找到MySQLdb文件夹的中__init__.py,注释掉from sets import ImmutableSet class DBAPISet(ImmutableSet):添加class DBAPISet(frozenset):;找到converters.py注释掉from sets import BaseSet, Set。然后修改第45行和129行中的Set为set。 搞定。 下面开始操作的demo: Python代码 1 # -*- coding: utf-8 -*- 2

python操作mysql

余生颓废 提交于 2020-01-17 04:56:49
yum install MySQL-python #!/usr/bin/python # -*- coding: UTF-8 -*- import MySQLdb # 打开数据库连接 db = MySQLdb.connect("localhost", "root", "", "ebs", charset='utf8' ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # 如果数据表已经存在使用 execute() 方法删除表。 #cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # Rollback in case there is any error db.rollback() # 关闭数据库连接 db.close() 来源: CSDN 作者: 小豆角 链接: https://blog.csdn.net/u013755520/article

记一次DataFrame.to_sql()时出现 system error: 10053 你的主机中的软件中止了一个已建立的连接的错误

北慕城南 提交于 2020-01-16 20:50:14
记一次DataFrame.to_sql()时出现错误system error: 10053 错误描述 分析 解决 One More Thing 错误描述 我想使用python将DataFrame保存为mysql的一张表,在用pandas的to_sql()方法存入mysql时,出现了如下错误: sqlalchemy . exc . OperationalError : ( mysql . connector . errors . OperationalError ) 2055 : Lost connection to MySQL server at '192.xxx.xx.xxx:3306' , system error : 10053 你的主机中的软件中止了一个已建立的连接。 我使用的是python3.6,用了sqlalchemy和mysql-connector-python这两个库,代码如下: import pandas as pd from sqlalchemy import create_engine from mysql import connector # write to mysql engine = create_engine ( "mysql+mysqlconnector://root:root@192.xxx.xx.xxx:3306/wyx?charset

数据库:pycharm与mysql的连接

守給你的承諾、 提交于 2020-01-15 14:52:36
数据库:pycharm与mysql的连接 前言: 数据库最主要的作用就是数据存储,那么肯定需要编程对数据库进程操作,进行简单的增删查改,那么python如何连接mysql呢? pycharm使用: 1.打开PyCharm,单击“file”,然后选中“New Project…" . 2.然后单击“Creat"。创建工程。 3.现在,将鼠标放在创建的工程上,单击鼠标右键,然后依次选择“New>Python File". 4.然后会弹出一个”New Python File"的窗口,输入名字后单击“OK”。 代码: #导入pymysql模块 import pymysql #连接database conn = pymysql.connect(host=‘localhost’, user=’’,password=’’,database=’’,charset=‘utf8’) #得到一个可以执行SQL语句的光标对象 cursor = conn.cursor() #执行SQL语句 sql2=“call rank2();” cursor.execute(sql2) redata=cursor.fetchall() #打印结果 data=cursor.fetchone() for row in redata: for each in row: print(str(each)+’ ‘,end=’’)

MySQL InnoDB Cluster 详解

我们两清 提交于 2020-01-15 08:55:49
导读 本文转载自MySQL解决方案工程师 作者:徐铁韬 这篇文章将详细地介绍MySQL的高可用解决方案—— MySQL InnoDB Cluster。 说到高可用性,首先要了解一下什么是高可用性? 高可用性要求的实际上是对可靠性的要求,从本质上来说,是通过技术和工具来提高可靠性,尽可能长时间保持数据的可用和系统的正常运行时间。实现高可用性的原则为排除单点故障、通过冗余实现快速恢复,并且具有容错机制。 上面一页主要介绍了几个关键词汇,以及相关的定义,这些有助于理解可靠性和高可用性。 MySQL的高可用性解决方案目前大致分为5种,按照高可用的级别(99.9999%为最高级)排序依次为,主从复制、具有自动故障转移功能的主从复制、利用共享存储、OS或虚拟化软件实现主备架构、MySQL Group Replication 群组复制,以及MySQL NDB Cluster。 MySQL Replication:允许数据从一台实例上复制到一台或多台其它的实例上。 MySQL Group Replication:群组复制提供更好的冗余性、自动恢复以及写入扩展。 MySQL InnoDB Cluster:基于群组复制,提供了易于管理的API、应用故障转移和路由、易于配置,提供比群组复制更高级别的可用性。 MySQL NDB Cluster:容易与MySQL InnoDB Cluster混淆