Se abbiamo installato Php 4 dovremo accontentarci della meno eccitante API Php/MySQL che, essendo integrata nell'interprete, non richiede attivazione nel php.ini
. Tuttavia, se non applicheremo alcuni accorgimenti, al primo tentativo di connessione ci si presenterà inevitabilmente il seguente errore
"Client does not support authentication protocol requested by server; consider upgrading MySQL client "
Infatti MySQL 4.1 e 5.0 utilizzano un protocollo di autenticazione basato su un nuovo algoritmo di hashing delle password che è incompatibile con quello delle precedenti librerie client. La soluzione è riscrivere le password ricodificandola con la funzione OLD_PASSWORD, ecco come. Seguite il percorso Start / Programmi / MySQL Server / MySQL Command Line Client ed eseguite i comandi evidenziati in rosso nel seguente pannello:
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2 to server version: 5.0.19-nt
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> select host,user, password from mysql.user ;
+-----------+------+------------------+
| host | user | password |
+-----------+------+------------------+
| localhost | root | 0bacf8382922b507 |
+-----------+------+------------------+
1 row in set (0.17 sec)
mysql> UPDATE mysql.user SET PASSWORD=OLD_PASSWORD('miapass') WHERE host='localhost' AND user='root' ;
Query OK, 0 rows affected (0.03 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> FLUSH PRIVILEGES ;
Query OK, 0 rows affected (0.01 sec)
mysql>
Nelle righe precedenti abbiamo sovrascritto la password di root ricodificandola, successivamente abbiamo aggiornato i privilegi sul database per rendere effettiva la modifica. Ora sarà possibile utilizzare le ultime release di MySQL anche con Php 4 come client.