Copyright (C) 2000-2012 |
GNU Info (mysql.info)Upgrading-from-3.20Upgrading from Version 3.20 to Version 3.21 ------------------------------------------- If you are running a version older than Version 3.20.28 and want to switch to Version 3.21, you need to do the following: You can start the `mysqld' Version 3.21 server with `safe_mysqld --old-protocol' to use it with clients from a Version 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 Version 3.20.28 and above can handle the new `user' table format without affecting clients. If you have a MySQL version earlier than Version 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 Version 3.20.28 and then upgrade to Version 3.21. 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). Note: Perl `DBI' Class. The following changes may affect queries in 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'. automatically generated by info2www version 1.2.2.9 |