2011-02-28 3 views
2

더 오래된 구형 MySQL 서버 (3.23)에 연결하려면 구형 MySQL 클라이언트 (4.1)를 가져와야합니다.MySql ERROR 1045 (00000) : 액세스가 거부되었습니다 - 다른 MySQL 버전

목표는 Lucene 검색 (linuxdev2에서도 실행 됨)에 대한 텍스트 정보를 업데이트하기 위해 이전 Linux/MySQL 3.23 데이터베이스에 Java/JDBC 연결을 수행하는 것입니다.

문제는 원격 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: '[email protected]' (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 

내가 에테 리얼 추적을 가져다 OK입니다 인트라넷에 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) 

답변

0

MySQL 암호 알고리즘이 v4.1에서 변경됨 - 동일한 password() 함수이지만 다른 해싱 알고리즘이므로 v4.1 + 클라이언트를 이전 v3.x 서버에 연결하면 password() -cre ated 암호는 작동하지 않습니다.

심판 : http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html

+0

나는 그것이 맞습니다 확실하지 않다. 링크 인용 : * 이전 4.1 및 이전 클라이언트는 4.1 이전 서버에 연결할 수 있습니다. 이는 클라이언트가 이전 및 새 암호 해싱 메커니즘을 모두 이해하기 때문입니다. * – Capsule

관련 문제