Details
To upgrade from MySQL version 3.23 to version 4.1.x you will first need to upgrade to version 4.0.x and then upgrade the mysql version to 4.1.x. Direct upgrade from version 3.23 to version 4.1.x is known to cause issues.
The following steps are required to upgrade to version 4.1.x:
1. For upgrading from 3.23 to 4.0.23
Download following rpms's from mysql.com
http://dev.mysql.com/downloads/mysql/4.0.html
MySQL-server-4.0.23-0.i386.rpm
MySQL-client-4.0.23-0.i386.rpm
MySQL-devel-4.0.23-0.i386.rpm
MySQL-shared-4.0.23-0.i386.rpm
MySQL-shared-compat-4.0.23-0.i386.rpm
2. Install the downloaded packages from Step 1 as follows:
a. service mysqld stop
b. rpm -Uvh *.rpm
c. set_pre_maintenance
d. set_maintenance
e. set_post_maintenance
f. exit_post_maintenance
3. Verify that the mysql service is running properly.
4. For upgrading from 4.0.23 to 4.1.9
Download following rpms's from mysql.com
http://dev.mysql.com/downloads/mysql/4.1.html
MySQL-server-4.1.11-0.i386.rpm
MySQL-client-4.1.11-0.i386.rpm
MySQL-devel-4.1.11-0.i386.rpm
MySQL-shared-4.1.11-0.i386.rpm
MySQL-shared-compat-4.1.11-0.i386.rpm
5. Install the downloaded packages from Step 4 as follows:
a. service mysqld stop
b. rpm -Uvh *.rpm
c. set_pre_maintenance
d. set_maintenance
e. set_post_maintenance
f. exit_post_maintenance
6. Run the mysql_fix_privilege_tables command to increase the length of the Password column from 16 to 41 bytes. MySQL 4.1.x now has longer password hash then earlier versions for better security. (The script does not change the existing password values, which remain 16 bytes long)
/usr/bin/mysql_fix_privilege_tables
7. Due to the change in the Password hash the pre 4.1 clients (like phpMyAdmin) does not authenticate the existing user. To have the backward compatibility with pre-4.1 clients one need to start the mysql daemon with --old-passwords option. To do so modify the /etc/rc.d/init.d/mysqld_app_init script as follows:
Look for the line
SAFE_MYSQLD_OPTIONS="--defaults-file=/etc/my.cnf --pid-file=$PID_FILE "
change it to
SAFE_MYSQLD_OPTIONS="--defaults-file=/etc/my.cnf --pid-file=$PID_FILE --old-passwords"
then look for a line
SAFE_MYSQLD_OPTIONS="--defaults-file=/etc/my.cnf.admin_appl --skip-grant-tables --skip-networking"
change it to
SAFE_MYSQLD_OPTIONS="--defaults-file=/etc/my.cnf.admin_appl --skip-grant-tables --skip-networking --old-passwords"
8. Restart mysql service
service mysql restart
6. Verify that the mysql service is upgraded to version 4.1.x and running properly.
|