簡體   English   中英

“無法使用舊的不安全身份驗證進行連接”,但是我沒有舊密碼嗎?

[英]“cannot connect using the old insecure authentication” but I have no old passwords?

對於我自己的情況沒有解決方案的標准錯誤:

mysqlnd無法使用舊的不安全身份驗證連接到MySQL 4.1+。 請使用管理工具通過命令SET PASSWORD = PASSWORD('your_existing_password')重置密碼。

這將在mysql.user中存儲一個新的,更安全的哈希值。 如果此用戶在由PHP 5.2或更早版本執行的其他腳本中使用,則可能需要從my.cnf文件中刪除old-passwords標志[2000]

我已經用Google搜索了很多,嘗試了不同的建議,但是我仍然不知道現在該怎么做,因為我在MySQLManager中做了這樣的查詢:

SELECT LENGTH(Password) FROM mysql.user;
show variables like 'old_passwords';

我得到了這樣的答案:

LENGTH(Password)
41
41
41
old_passwords: OFF

這似乎是密碼的正確哈希方法(不是16),正確的old_password值(OFF),但是我無法修復錯誤,甚至不知道應該嘗試什么。 我將OpenServer 5.2.2與:

數據庫服務器:

  • 服務器:通過TCP / IP的127.0.0.1
  • 服務器類型:MySQL
  • 服務器版本:5.5.45-MySQL社區服務器(GPL)
  • 協議版本:10
  • 用戶:max @ localhost
  • 服務器編碼:UTF-8 Unicode(utf8)

網絡服務器:

  • Apache / 2.2.31(Win32)
  • 版本客戶端數據庫:libmysql-mysqlnd 5.0.8-dev-20102224
  • PHP擴展名:mysqli

UPD:舊版本的php代碼可以用舊的16位代碼加密密碼嗎? 也許這是原因?

尚未解決,但得到解決-我已經使用未選中的選項“以十六進制保存二進制字段”從站點源數據庫導出數據庫,下載了新版本的php站點-然后輸入了正確的用戶名和密碼,並且一切正常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM