zoukankan      html  css  js  c++  java
  • 总结mysql 8.0及以上版本遇到的坑

      本人是去年下载的mysql 8.0.18版本的数据库的,在下载数据库时,和许多小白一样,

    以为最新的就是最好的,于是就下载当时的最新版8.0.18版本的mysql,结果就走上了一条

    满是坑的数据库使用之路。关于mysql 8.0以上的版本的坑网上也很多,我就说三个让我

    印象最深的坑

    NO.1

      去年下半年我开始学习Javaweb,Javaweb可以专门写一个Java类去实现与数据库的连接,这个

    类中需要使用一条jdbc驱动语句,相信朋友们都已经知道,这就是Class.forName("com.mysql.jdbc.Driver");

    由于我是小白,刚开始只知道网上教的就是这么写,直到有一次,老师让我们完成一个向数据库里面添加数据,

    我很快写完,结果连接不了数据库,还一直报Loading class `com.mysql.jdbc.Driver'. This is deprecated

    这个错导致我调了一下午代码最后也没写出来,最后才知道mysql 8.0以上的版本只能使用这个jdbc驱动

    Class.forName("com.mysql.cj.jdbc.Driver");

    NO.2

      今年上半年老师要求我们用app完成一个全球疫情的简单数据展示,当我写好代码,一运行,程序报错,

    但上网一查报错原因,居然没有,我又仔细的检查了代码,没发现有错,报错原因找不到,app一运行就

    报错,最后我终于发现了原因,不是代码的原因,是因为我的mysql数据库是8.0以上的版本,Android Studio

    无法使用8.0以上的mysql-java架包去连接对应的8.0以上的数据库,最后用了5.7版本的mysql-java架包才成功

    连接上mysql 8.0.18数据库,唉,足足在这个问题上浪费了一天的时间

    NO.3

     这个学期有php课程,这两天需要完成用php代码连接mysql数据库,我按照老师的教程写了一个测试连接的php代码

    header('content-type:text/html;charset=utf-8');
    $link = mysqli_connect('localhost','root','123');
    if(!$link){
        echo "连接失败!";
    }
    else echo "连接成功";

    结果我连接失败了,别人都连接成功了,还好这次报了两个错

    (1)mysqli_real_connect(): The server requested authentication method unknown to the client [sha256_password]
    (2)The server requested authentication method unknown to the client

    上网一查,不用说,估计你们都知道了,对,没错,又是mysql 8.0以上的版本因为新配置导致的问题,解决方法

    首先在你的mysql配置文件下的my.ini文件或者没有my.ini,也有可能是mysql数据库目录下的etc/my.cnf配置文件

    加上这样一句配置语句

     default_authentication_plugin=mysql_native_password 
    然后保存修改,回到桌面,点击此电脑-管理-服务和本地程序-服务,然后找到mysql,关掉mysql服务再重新开启(相当于重启)
    让你刚才的配置文件得到修改
    然后使用cmd进入mysql的bin目录下,登录mysql(这种教程很多,过程我就不说了),登录成功会进去mysql的命令行,执行以下mysql命令
    >use mysql  
    > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  
    > FLUSH PRIVILEGES;            

    你的密码就是你的mysql的root用户密码(也就是你登录用的密码)

    然后使用exit;命令退出mysql,重新运行你的php代码,就解决了

    说了这么多,这是自己第一次写总结性的问题解决,感觉还行,说不定以后还用得上

    不知道未来使用mysql 8.0以上的版本还会遇到什么坑,且学且总结吧

  • 相关阅读:
    hdoj1856
    hdoj1009
    hdoj2191
    hdoj1203
    hdoj1053
    hdoj1529
    hdoj1829
    Flex2 Tree从XML文件中加载数据
    RoR:Ruby On Rails 的 Web Service
    Flex2 数据的验证方法以及如何改变错误提示的CSS
  • 原文地址:https://www.cnblogs.com/yang2000/p/12806251.html
Copyright © 2011-2022 走看看