2.5 Changer de version de MySQL
2 Installation de MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Passer de la version 3.23 à la version 4.0 . Passer de la version 3.22 à la version 3.23 . Passer de la version 3.21 à la version 3.22 ->Passer de la version 3.20 à la version 3.21 . Migrer depuis une autre architecture
|
2.5.4 Passer de la version 3.20 à la version 3.21
Si vous avez une version de MySQL plus ancienne que la version 3.20.28 et que
vous voulez passer à la version 3.21, vous devez suivre ces étapes :
Vous pouvez démarrer le serveur
mysqld
version 3.21 avec le script
safe_mysqld --old-protocol
pour l'utiliser avec les clients de la
version 3.20.
Dans ce cas, la fonction
mysql_errno()
des nouveaux clients ne sera
pas fonctionnelle, et seul
CR_UNKNOWN_ERROR
(mais il fonctionne
pour les erreurs client), et le serveur utilisera l'ancienne fonction
password()
plutôt que la nouvelle.
Si vous
n'utilisez pas
l'option
--old-protocol
avec
mysqld
, vous devez suivre ces instructions :
-
Tous les clients doivent être recompilés. Si vous utilisez ODBC, vous devez
obtenir le nouveau pilote
MyODBC
2.x.
-
Le script
scripts/add_long_password
doit être utilisé pour convertir
le champs
Password
de la table
mysql.user
en
CHAR(16)
.
-
Tous les mots de passe doivent être réassignés dans la table
mysql.user
pour utiliser les mots de 62 bits au lieu de 31 bits.
-
Le format de table n'a pas changé, ce qui vous évite d'avoir à convertir
des tables.
MySQL version 3.20.28 et plus récent peut gérer les nouvelles tables
user
sans
affecter les clients. Si vous avez une version plus ancienne que la
3.20.28, les mots de passe ne seront plus valide, si vous convertissez la table
user
. Pour être tranquille, commencez par faire passer votre version à la
3.20.28 puis passez en version 3.21.
Le nouveau client fonctionne avec le serveur 3.20.x
mysqld
, alors si vous
rencontrez des problèmes avec la version 3.21.x, vous pouvez toujours vous rabattre
sur les vieux serveurs 3.20.x sans recompiler les clients.
Si vous n'utilisez pas l'option
--old-protocol
de
mysqld
,
les vieux clients vont émettre une erreur :
ERROR: Protocol mismatch. Server Version = 10 Client Version = 9
|
La nouvelle interface Perl
DBI
/
DBD
supporte aussi l'ancienne interface
mysqlperl
. Le seul changement que vous devez faire si vous utilisez
mysqlperl
est de changer les arguments de la fonction
connect()
.
Les nouveaux arguments sont :
host
,
database
,
user
,
et
password
(les arguments
user
et
password
ont été échangés).
L'interface
DBI
.
Les modifications actuelles affectent les requêtes des anciennes applications :
-
HAVING
doit être spécifié avant la clause
ORDER BY
.
-
Les paramètres de la fonction
LOCATE()
ont été échangés.
-
Il y a de nouveaux mots réservés. Les plus notables sont
DATE
,
TIME
et
TIMESTAMP
.
|