Now, what about upgrading from older versions of MySQL? MySQL 4.1 is almost upward compatible with MySQL 4.0 and earlier for the simple reason that almost all of the features are new, so there's nothing in earlier versions to conflict with. However, there are some differences and a few things to be aware of.
Most important: The ``MySQL 4.0 character set'' has the properties of both ``MySQL 4.1 character sets'' and ``MySQL 4.1 collations.'' You will have to unlearn this. Henceforth we will not bundle character set / collation properties in the same conglomerate object.
There is a special treatment of national character sets in MySQL
4.1. NCHAR
is not the same as CHAR
, and N'...'
literals
are not the same as '...'
literals.
Finally, there is a different file format for storing information about character sets and collations. Make sure you have reinstalled the `/share/mysql/charsets/' directory containing the new configuration files.
If you want to start mysqld
from a 4.1.x distribution with data
created by MySQL 4.0, you should start the server with the same
character set and collation. In this case you won't need to reindex
your data.
There are two ways to do so:
shell> ./configure --with-character-set=... --with-collation=... shell> ./mysqld --default-character-set=... --default-collation=...
If you used mysql
with, for example, the MySQL 4.0 danish
character set, you should now use the latin1
character set and
the latin1_danish_ci
collation:
shell> ./configure --with-character-set=latin1 --with-collation=latin1_danish_ci shell> ./mysqld --default-character-set=latin1 --default-collation=latin1_danish_ci
Use the table shown in the next section to find old 4.0 character set names and their 4.1 character set/collation pair equivalents.