zoukankan      html  css  js  c++  java
  • mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication解决办法

    mysqlnd是个好东西。不仅可以提高与mysql数据库通信的效率,而且也可以方便的设置一些超时。如,连接超时,查询超时。
    但是,使用mysqlnd的时候,有个地方需要注意。就是服务端的密码格式不能使用旧的16位的存储格式,而要使用新的41位的存储格式。
    如果,服务端的密码格式是16位,那么就会报错。信息如下:
    Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file’ in /home/hailong.xhl/test.php:8

    如何查看自己的密码是否符合要求,so easy。

    1
    2
    3
    4
    5
    6
    7
    mysql> select user,length(password) from mysql.user;
    +--------------+------------------+
    | user         | length(password) |
    +--------------+------------------+
    | demo         |               16 |
    | demo         |               16 |
    +--------------+------------------+

    上面的密码是旧的16位格式。如果想改成新的41位格式,通过以下命令就可以。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mysql>UPDATE mysql.user SET Password = PASSWORD('demo') WHERE user = 'demo';
    Query OK, 2 rows affected (0.00 sec)
    Rows matched: 2  Changed: 2  Warnings: 0
    mysql> select user,length(password) from mysql.user;
    +--------------+------------------+
    | user         | length(password) |
    +--------------+------------------+
    | demo         |               41 |
    | demo         |               41 |
    +--------------+------------------+
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    修改完密码后,还需要在配置文件中修改下old_passwords选项。把值设置为0。即,
    old_passwords=0
    然后重启mysql。

    Flag Counter
  • 相关阅读:
    容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?
    Spring Controller里注入Feign的Interface报红提示的问题
    几种常见的日志
    个人博客搭建方案选择
    elasticsearch常用操作命令
    kafka操作命令
    centos7.0安装java环境
    CentOS安装jdk的三种方法
    在OAuth2中 自定义tokenServices来提供个性化服务,每次刷新token并让原token在5分钟内有效
    解决HttpServletRequest的输入流只能读取一次的问题(转)
  • 原文地址:https://www.cnblogs.com/sunsoftware/p/4559158.html
Copyright © 2011-2022 走看看