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).
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
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.