ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql 8.0.18安装配置及python2.7连接设置

2020-09-11 06:33:28  阅读:366  来源: 互联网

标签:8.0 安装 18 python2.7 server 密码 user mysql root


首先下载安装包,可以从官网,也可以是其他网站,我这里是 MSI 版本的

 需要注意的是,在windows7上安装,可能还需要.net framework 4.5.2 + Microsoft Visual C++ 2015 Redistributable , 微软官网下载即可

https://www.microsoft.com/en-us/download/confirmation.aspx?id=53587

 

  

 安装 

 

选项 含义
Developer Default 默认安装类型
Server only 仅作为服务器
Client only 仅作为客户端
Full 完全安装类型
Custom 自定义安装类型

根据自己的需要。把左边的products添加到右边,右边就是要安装的组件。

我测试安装只选择了server only。因为我当时只想测试我的python 2.7能不能连接新版本的8 的mysql 。总是报错:

_mysql_exceptions.OperationalError: (1251, 'Client does not support authentication protocol requested by server; consider upgrading MySQL client')
添加了ssl=None都不能解决。其实这个提示很明显,就是客户端要升级。当初在.net 引用 mysql.data.dll也有类似错误,后使用高版本, 8版本的mysql.data.dll 解决的。 想必python2.7连接也是如此。

 

  

  

 选择上面默认的独立mysql server ,下一步

 

 接下来选择强密码

 

 输入root 密码,可以继续add user 也可以等安装完成之后再添加 

 

 这里, Service Name 可以改为MySQL 方便以后查看和其他操作,也可不修改 ,记住就可以。next

 

  

 其中有一处问题,next ,finish, 一路点下去

 

 直到安装 finish,  结束

这个MSI 版本的也没有添加环境变量的,打开添加,

加上 MYSQL=C:\Program Files\MySQL\MySQL Server 8.0

 

 path 后加上 ;%MYSQL%\bin

 

 这样就可以了。(win+r 就可以直接运行 mysql) 

第一次要登录设置一下密码,(可能安装时那个强密码不好记?)

比如使用初始设置的密码登录,即报错(为啥?)

 

 但其实不用输入密码,直接回车,就可以登录。

再使用 alter user 'root'@'localhost' identified by 'root'  将密码修改 root .

就可以使用密码登录了:

 

 修改 mysql 的允许远程连接。将Host设置为通配符%  Host设置了“%”后便可以允许远程访问。

不然会报 "Host '' is not allowed to connect to this MySQL server  错误。

use mysql; 切换数据库

select host from user where user='root'; 查看当前的HOST设置(远程IP)

update user set host = '%' where user ='root';

flush privileges;

 

为什么python2.7连接不上mysql 8? 

百度了一下,

https://www.jianshu.com/p/afadf3a13b56

按这位老哥的意思,是保存密码的加密方式不同导致,改为以前的加密方式即可解决:

mysql -u root -p
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> FLUSH PRIVILEGES;

 

再次测试python程序

我的python27 访问这个mysql 8没问题了

#coding:utf-8 import xlrd import MySQLdb   db = MySQLdb.connect(host="192.168.119.128", port=3306, user="root", passwd="root", db="mysql", charset='utf8',ssl=None) cursor = db.cursor() cursor.execute("SELECT VERSION()") row = cursor.fetchone() print "server version:", row[0] cursor.close()  db.close()

 

顺便说一下,我安装的 mysqldb 32,这是因为arcgis 10。2自带的 python 2.7是32位的。

 

 记得一路next 就可以。 64位不行,找不到 python安装路径的。

 

 

标签:8.0,安装,18,python2.7,server,密码,user,mysql,root
来源: https://www.cnblogs.com/yansc/p/13649527.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有