<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      怎么處理MySQL的客戶端不支持鑒定協議

      [摘要]MySQL 5.1采用了基于密碼混編算法的鑒定協議,它與早期客戶端(4.1之前)使用的協議不兼容。如果你將服務器升級到4.1之上,用早期的客戶端進行連接可能失敗,并給出下述消息: 以下為引用的內容:...

      MySQL 5.1采用了基于密碼混編算法的鑒定協議,它與早期客戶端(4.1之前)使用的協議不兼容。如果你將服務器升級到4.1之上,用早期的客戶端進行連接可能失敗,并給出下述消息:

      以下為引用的內容:
      shell> mysql

      客戶端不支持服務器請求的鑒定協議:請考慮升級MySQL客戶端。

      要想解決該問題,應使用下述方法之一:

      ·升級所有的客戶端程序,以使用4.1.1或更新的客戶端庫。

      ·用4.1版之前的客戶端連接到服務器時,請使用仍具有4.1版之前風格密碼的賬戶。

      ·對于需要使用4.1版之前的客戶端的每位用戶,將密碼恢復為4.1版之前的風格。可以使用SET PASSWORD語句和OLD_PASSWORD()函數完成該任務:

      以下為引用的內容:
      ·mysql> SET PASSWORD FOR
      ·-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
      也可以使用UPDATE和FLUSH PRIVILEGES:
      mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
      -> WHERE Host = 'some_host' AND User = 'some_user';
      mysql> FLUSH PRIVILEGES;

      用你打算使用的密碼替換前例中的"newpwd"。MySQL不能告訴你原來的密碼是什么,因此,你需要選擇新的密碼。

      ·通知服務器使用舊的密碼混編算法:

      1.使用"--old-passwords"選項啟動mysqld。

      2.對于已將密碼更新為較長4.1格式的每個賬戶,為其指定具有舊格式的密碼?梢允褂孟率霾樵兇_定這些賬戶:

      以下為引用的內容:

      3.

      mysql> SELECT Host, User, Password FROM mysql.user
       
      4.

      -> WHERE LENGTH(Password) > 16;

      對于查詢顯示的每個賬戶記錄,請使用Host和User值,并使用OLD_PASSWORD()函數以及SET PASSWORD或UPDATE之一指定密碼,如前面所介紹的那樣。

      注釋:在早期的PHP版本中,MySQL擴展不支持MySQL 4.1.1和更高版中的鑒定協議。無論使用的PHP版本是什么,它均是正確的。如果你打算與MySQL 4.1或更高版本一起使用mysql擴展,需要使用前面介紹的選項之一,配置MySQL,以便與較早的客戶端一起使用。mysqli擴展(支持"改進的MySQL",在PHP 5中增加)與MySQL 4.1和更高版本中使用的改進的密碼混編算法兼容,不需要對MySQL進行特殊配置就能使用該MySQL客戶端庫。

      關鍵詞標簽:鑒定,協議,支持,客戶端

      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清