zoukankan      html  css  js  c++  java
  • mysql 8.0.18安装配置及python2.7连接设置

    首先下载安装包,可以从官网,也可以是其他网站,我这里是 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 FilesMySQLMySQL Server 8.0

     

     path 后加上 ;%MYSQL%in

     

     这样就可以了。(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安装路径的。

  • 相关阅读:
    Fix the Package System is Broken error in Ubuntu
    linux源镜像网站
    VS2010快捷键大全
    自定义函数与存储过程的比较
    vbcr,vblf和 vbcrlf之间的区别?
    GridView序号问题
    Outlook2007设置备份账号、联系人和个性签名的方法
    c#.net4.0利用odac连接oracle取数
    无法打开登录所请求的数据库DbName 。登录失败。 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。 的解决方案
    C#开发和调用Web Service
  • 原文地址:https://www.cnblogs.com/yansc/p/13649527.html
Copyright © 2011-2022 走看看