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

    一个同事,用客户端可以连接mysql,用php函数就连不上了,报如下警告:

    Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in path/to/the/file/where/connection/script/is/written/

    Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter than expected in path/to/the/file/where/connection/script/is/written/

    Warning: mysql_connect() [function.mysql-connect]: 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 path/to/the/file/where/connection/script/is/written/


    具体原因我还不是很清楚,跟old密码长度有关?先记录下来,日后研究。解决方法如下:

    SET old_passwords = 0;
    UPDATE mysql.user SET Password = PASSWORD('testpass') WHERE User = 'testuser' limit 1;
    SELECT LENGTH(Password) FROM mysql.user WHERE User = 'testuser';
    FLUSH PRIVILEGES;



  • 相关阅读:
    Fault-Tolerant Virtual Machine 论文笔记
    Google File System 论文笔记
    Amazon Aurora 论文笔记
    MATLAB入门学习(二):分支语句和编程设计
    MATLAB入门学习(一):基础准备
    矩阵连乘问题
    合并排序 java
    生产者与消费者 代码实现 java
    图的封装(C++)
    二叉树的封装
  • 原文地址:https://www.cnblogs.com/huangzhen/p/2193946.html
Copyright © 2011-2022 走看看