If you are running a version older than 3.20.28 and want to
switch to 3.21.x, you need to do the following:
You can start the mysqld
3.21 server with safe_mysqld
--old-protocol
to use it with clients from the 3.20 distribution.
In this case, the new client function mysql_errno()
will not
return any server error, only CR_UNKNOWN_ERROR
, (but it
works for client errors) and the server uses the old password() checking
rather than the new one.
If you are NOT using the --old-protocol
option to
mysqld
, you will need to make the following changes:
-
All client code must be recompiled. If you are using ODBC, you must get
the new MyODBC 2.x driver.
-
The script
scripts/add_long_password
must be run to convert the
Password
field in the mysql.user
table to CHAR(16)
.
-
All passwords must be reassigned in the
mysql.user
table (to get 62-bit
rather than 31-bit passwords).
-
The table format hasn't changed, so you don't have to convert any tables.
MySQL 3.20.28 and above can handle the new user
table format
without affecting clients. If you have a MySQL version earlier than
3.20.28, passwords will no longer work with it if you convert the user
table. So to be safe, you should first upgrade to at least 3.20.28 and then
upgrade to 3.21.x.
The new client code works with a 3.20.x mysqld
server, so
if you experience problems with 3.21.x, you can use the old 3.20.x server
without having to recompile the clients again.
If you are not using the --old-protocol
option to mysqld
,
old clients will issue the error message:
ERROR: Protocol mismatch. Server Version = 10 Client Version = 9
The new Perl DBI
/DBD
interface also supports the old
mysqlperl
interface. The only change you have to make if you use
mysqlperl
is to change the arguments to the connect()
function.
The new arguments are: host
, database
, user
,
password
(the user
and password
arguments have changed
places).
Perl DBI
Class.
The following changes may affect requêtesin old applications:
-
HAVING
must now be specified before any ORDER BY
clause.
-
The parameters to
LOCATE()
have been swapped.
-
There are some new reserved words. The most notable are
DATE
,
TIME
and TIMESTAMP
.