2010-11-30 15 views

答えて

7

solutionは、MySQLのOLD_PASSWORD機能を使用してデータベースユーザーのパスワードを更新します。たとえば、次のようなソリューションですまた

[[email protected] ~]$ mysql -u root -p mysql 

Enter password: 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 

Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 267 
Server version: 5.1.41-3ubuntu12.1 (Ubuntu) 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> use mysql; 
Database changed 

mysql> update user set Password=OLD_PASSWORD('password') WHERE User='username'; 

Query OK, 0 rows affected (0.02 sec) 
Rows matched: 0 Changed: 0 Warnings: 0 

mysql> flush privileges; 

Query OK, 0 rows affected (0.00 sec) 

mysql> 
+0

PHP 5.6.5以降では、mysql 4クライアントに接続できるようにするには、これらの値を 'my.ini'の' [mysqld] 'セクションに設定する必要があります: old_passwords = 1 secure-auth = 0 mysql'dbの 'user'テーブルの' plugin'セクションに 'mysql_old_password'を追加する必要があるかもしれません – Wertisdk

2

これはMySQLの既知の問題です。 C.5.2.4. Client does not support authentication protocol:

MySQL 5.1では、古い(4.1より前の)クライアントで使用されているものと互換性のないパスワードハッシュアルゴリズムに基づく認証プロトコルが使用されます。サーバーを4.0からアップグレードすると、古いクライアントとの接続試行が失敗し、次のメッセージが表示されます。「クライアントがサーバーによって 要求された認証プロトコルをサポートしていないため、MySQLクライアントのアップグレードを検討する」

この問題を解決するには、次のいずれかの方法を使用する必要があります。
1.すべてのクライアントプログラムを4.1.1以降のクライアントライブラリを使用するようにアップグレードします。
2. 4.1以前のクライアントプログラムを使用してサーバーに接続する場合は、4.1以前のバージョンのパスワードを使用しているアカウントを使用します。
3. 4.1より前のクライアントプログラムを使用する必要があるユーザーごとに、4.1以前のスタイルにパスワードをリセットします。
4.古いパスワードハッシュアルゴリズムを使用するようサーバーに指示します。

+0

、しかし、私は直接見それを解決するための手順(より具体的な詳細については同じ答えです)、私はここでそれをここで与えました、とにかくTHX! – palmic

関連する問題