Python3连接Mysql8.0遇到的问题及处理步骤

最近在使用Python开发系统,需连接mysql数据库,我用的是Python3连接MySQL8.0,其中老是报错以下问题:

Python3连接Mysql8.0遇到的问题及处理步骤

网上给了各种各样的方法,大多是通过各种方式修改密码。

最简单的方法是更换了root密码的认证方式解决的,新版mysql使用的caching_sha2_password,换成mysql_native_password我就可以连上了。

步骤是在cmd命令行连接mysql(管理员身份运行cmd) 

进入cmd的命令行之后,输入cd+bin目录的地址,访问mysql的bin目录。通过mysql -uroot连接MySQL数据库

Python3连接Mysql8.0遇到的问题及处理步骤

然后输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

Python3连接Mysql8.0遇到的问题及处理步骤

这时再跑下python脚本就可以连接了。

数据库:

Python3连接Mysql8.0遇到的问题及处理步骤

Python3连接mysql代码如下:

# 导入pymysql模块
import pymysql
# 连接database
conn = pymysql.Connect(
  host='localhost',#你的数据库地址
  port=3306,#端口号
  user='root',#用户名
  passwd='123456',#密码
  db='my_database',#数据库名
  charset='utf8')
# 得到一个可以执行SQL语句的光标对象
cursor = conn.cursor()
# 定义要执行的SQL语句
sql = 'select * from student'
# 执行SQL语句
cursor.execute(sql)
#打印执行结果
print(cursor.fetchall())
# 关闭光标对象
cursor.close()
# 关闭数据库连接
conn.close()

执行结果:

Python3连接Mysql8.0遇到的问题及处理步骤

总结

以上所述是小编给大家介绍的Python3连接Mysql8.0遇到的问题及处理步骤,希望对大家有所帮助,也非常感谢大家对我们网站的支持!

时间: 2020-02-15

Python3.6实现连接mysql或mariadb的方法分析

本文实例讲述了Python3.6实现连接mysql或mariadb的方法.分享给大家供大家参考,具体如下: python3.6的安装查看前面一篇文章//www.jb51.net/article/108938.htm mysql或mariadb数据库的安装查看以前的相关文章,这里不再赘述 首先在mariadb数据库中创建相应的库和表: MariaDB [(none)]> create database oracle default character set utf8 default collat

python3使用PyMysql连接mysql数据库实例

python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb 目前MySQLdb并不支持python3.x , Python3.x连接MySQL的方案有:oursql, PyMySQL, myconnpy 等. 下面来说下python3如何安装和使用pymysql,另外两个方案我会在以后再讲. 1.pymysql安装 pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymys

linux下python3连接mysql数据库问题

python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb 1.安装pymysql pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql pip install pymysql3 2.使用pymysql 在我们需要使用数据库的.py文件开头添加下面两行 import pymysql pymysql.install_as_MySQLdb() 第一行是引入pymysq

python3连接MySQL数据库实例详解

本文实例为大家分享了python3连接MySQL数据库的具体代码,供大家参考,具体内容如下 #python3连接MySQL实例 import pymysql """导入连接MySQL需要的包,没有安装pymysql需要先安装 使用命令行切换到python的安装路径下的scripts子目录下安装(pip install pymysql) """ #连接MySQL数据库 db = pymysql.connect("localhost&quo

python3连接MySQL8.0的两种方式

1.下载MySQL官方的mysql-connector-python-8.0.17-py3.7-windows-x86-64bit.msi,直接点击安装: 2.安装完毕后直接可以导入mysql.connnector模块 连接方式一: import mysql.connector cnx = mysql.connector.connect(user='scott', password='password', host='127.0.0.1', database='employees') cnx.c

Java 连接Access数据库的两种方式

java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来程序部署的每个机器上都要进行设置不方面.所以现在不会使用啦. 2.JDBC java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接. 复制代码 代码如下: java Access JDBC jar包:Access_JDBC30.jar 具体连接,参考下面代码: 复制代

php连接MySQL的两种方式对比

记录一下PHP连接MySQL的两种方式. 先mock一下数据,可以执行一下sql. /*创建数据库*/ CREATE DATABASE IF NOT EXISTS `test`; /*选择数据库*/ USE `test`; /*创建表*/ CREATE TABLE IF NOT EXISTS `user` ( name varchar(50), age int ); /*插入测试数据*/ INSERT INTO `user` (name, age) VALUES('harry', 20), ('

深入SqlServer2008 数据库同步的两种方式(Sql JOB)的分析介绍

下面介绍的就是数据库同步的两种方式: 1.SQL JOB的方式  sql Job的方式同步数据库就是通过SQL语句,将一个数据源中的数据同步到目标数据库中.特点是它可以灵活的通过SQL的方式进行数据库之间的同步操作.可以在制定的时间时间作为任务计划自动执行.缺点是需要写SQL来进行操作.既然是数据库之间的同步就涉及到数据库之间的连接.建立连接是同步的第一步.SQL Server建立连接可以通过系统存储过程建立[是否还有其他方式,我还不清楚].存储过程有以下几个:sp_droplinkedsrvl

Oracle创建Database Link的两种方式详解

创建一个dblink,命名为dblink_name,从A数据库连到B数据库,B数据库的IP为192.168.1.73,端口为1521,实例名为oracle,登录名为tast,密码为test. 一菜单方式: 打开plsql,点击[File]-[New]-[Database link],打开如下图所示窗口 填好各项信息后,点击[Apply]即可完成Database Link的创建. 二SQL方式 -- Drop existing database link drop public database

c++连接mysql数据库的两种方法(ADO连接和mysql api连接)

第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说.第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序. 不管用哪种方法,首先需要安装Mysql数据库,安装方法请看"mysql安装及一些注意点".最好安装一个Navicat for mysql,方便操作mysql数

通过两种方式增加从库——不停止mysql服务

一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长.另一种是通过xtrabackup工具备份主库,恢复到从库,xtrabackup是物理备份,备份速度快,不锁表.为什么不锁表?因为自身会监控主库日志,如果有更新的数据,就会先写到一个文件中,然后再回归到备份文件中,从而保持数据一致性. 现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,

利用Tkinter和matplotlib两种方式画饼状图的实例

当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图. 首先利用[Tkinter]中的canvas画布来画饼状图: from tkinter import Tk, Canvas def DrawPie(): #创建窗口 windows=Tk() #添加标题 windows.title("画饼图") # 设置画布样式 canvas=Canvas(windows,height=500,width=500) # 将画布打包到窗口 canvas.

jquery ajax提交表单数据的两种方式

之前实现AJAX使用Javascript脚本一个一个敲出来的,很繁琐.学习Jquery之后就感觉实现AJAX并不是那么的困难了,当然除了Jquery框架外还有其它的优秀框架这里我就着重说下比较流行的Jquery.Jquery AJAX提交表单有两种方式,一是url参数提交数据,二是form提交(和平常一样在后台可以获取到Form表单的值).在所要提交的表单中,如果元素很多的话建议用第二种方式进行提交,当然你要是想练练"打字水平"的话用第一种方式提交也未尝不可,相信开发者都不想费白劲吧!

详解使用Vue.Js结合Jquery Ajax加载数据的两种方式

整理文档,搜刮出一个使用Vue.Js结合Jquery Ajax加载数据的两种方式的代码,稍微整理精简一下做下分享. 废话不多说,直接上代码 html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> <script src="js/jquery.js"

分享java中设置代理的两种方式

1 前言 有时候我们的程序中要提供可以使用代理访问网络,代理的方式包括http.https.ftp.socks代理.比如在IE浏览器设置代理. 那我们在我们的java程序中使用代理呢,有如下两种方式.直接上代码. 2 采用设置系统属性 import java.net.Authenticator; import java.net.PasswordAuthentication; import java.util.Properties; public class ProxyDemo1 { public