2

さらに古い MySQL サーバー (3.23) に接続するには、古い MySQL クライアント (4.1) を取得する必要があります。

目標は、Java/JDBC を古い Linux/MySQL 3.23 データベースに接続して、Lucene 検索 (linuxdev2 でも実行される) のテキスト情報を更新することです。

問題は、リモートの Linux/MySql 4.1 クライアントから Linux/MySQL 3.23 サーバーに接続できないことです。JDBC から接続できません。「mysql」から接続できません:

LOCAL (intranet):
mysql -uSOMEUSER -pSOMEPASSWORD mysql => OK

REMOTE (from linuxdev2):
mysql -uSOMEUSER -pSOMEPASSWORD -hintranet mysql => FAILS:
ERROR 1045 (00000): Access denied for user: 'SOMEUSER@linuxdev2' (Using password: YES)

PERMISSIONS (on intranet):
mysql> select User,Host,Password from user order by User;
+-----------+-----------------------------+------------------+
| User      | Host                        | Password         |
+-----------+-----------------------------+------------------+
| SOMEUSER  | %                           | 233780be35015f2c |
| SOMEUSER  | localhost                   | 233780be35015f2c |
| ...

これらはホストです:

Component      Intranet:                Linuxdev2:
---------      --------                 ---------
Java           N/A                      Sun Java 1.5.0_03
JDBC           N/A                      mysql-connector-java-3.1.6-3
MySQl Server   mysql-server-3.23.22-6   mysql-4.1.10a-3.8
MySql Client   mysql-3.23.22-6          mysql-client-4.1.10a-3

Ethereal トレースを取得し、linuxdev2 からイントラネットへの TCP/IP 接続が正常であることを確認しました。

a) They connect on port 3306  
b) Linuxdev2 does a "Login request Caps"
c) Intranet replies with "Response Error Code: 415" (access denied)
4

1 に答える 1

0

MySQLのパスワードアルゴリズムはv4.1で変更されました-同じpassword()関数ですが、ハッシュアルゴリズムが異なるため、-createdパスワードを使用してv4.1+クライアントを古いv3.xサーバーに接続password()することはできません。

参照:http ://dev.mysql.com/doc/refman/5.1/en/password-hashing.html

于 2011-02-28T22:12:57.810 に答える