Ich muss einen alten MySQL-Client (4.1) dazu bringen, sich mit einem noch älteren MySQL-Server (3.23) zu verbinden.
Ziel ist es, eine Java/JDBC-Verbindung zur alten Linux/MySQL 3.23-Datenbank herzustellen, um Textinformationen für eine Lucene-Suche zu aktualisieren (die auch auf linuxdev2 laufen wird).
Das Problem ist, dass ich von einem entfernten Linux/MySql 4.1-Client keine Verbindung zum Linux/MySQL 3.23-Server herstellen kann. Ich kann keine Verbindung über JDBC herstellen; ich kann keine Verbindung über "mysql" herstellen:
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 |
| ...
Dies sind die Gastgeber:
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
Ich habe einen Ethereal-Trace erstellt und überprüft, dass die TCP/IP-Verbindung von linuxdev2 zum Intranet in Ordnung ist:
a) They connect on port 3306
b) Linuxdev2 does a "Login request Caps"
c) Intranet replies with "Response Error Code: 415" (access denied)