So what you have to do to install MySQL 5 on SME7 is:
==============================
STEP 1: MAKE A BACKUP OF YOUR DATABASES:
==============================
mysqldump -aec >backup_mysql_databases.sql
==========================
STEP 2: GET THE NEW RPM'S:
==========================
THERE ARE TWO WAYS OF DOING THIS:
-------------
FIRST METHOD:
-------------
wget \
http://mirror.centos.org/centos/4/centosplus/i386/RPMS/mysqlclient14-4.1.14-4.2.c4.1.i386.rpm \
http://mirror.centos.org/centos/4/centosplus/i386/RPMS/mysql-server-5.0.22-1.centos.1.i386.rpm \
http://mirror.centos.org/centos/4/centosplus/i386/RPMS/mysql-5.0.22-1.centos.1.i386.rpm
rpm -U mysql-5.0.22-1.centos.1.i386.rpm \
mysql-server-5.0.22-1.centos.1.i386.rpm \
mysqlclient14-4.1.14-4.2.c4.1.i386.rpm
/etc/rc.d/init.d/mysqld stop
rm -f /etc/my.cnf.rpmnew
/etc/rc.d/init.d/mysqld start
To fix the privileges on Horde:
mysql -e "GRANT SELECT,INSERT,UPDATE,DELETE ON horde.* TO 'horde'@'localhost';FLUSH PRIVILEGES"
-------------------------
SECOND METHOD: (prefered)
-------------------------
/etc/rc.d/init.d/mysqld stop
yum --enablerepo=centosplus update mysql
/etc/rc.d/init.d/mysqld start
To fix the privileges on Horde:
mysql -e "GRANT SELECT,INSERT,UPDATE,DELETE ON horde.* TO 'horde'@'localhost';FLUSH PRIVILEGES"
===================================================
STEP 3: ADD MISSING MySQL-TABLES TO MYSQL DATABASE: (for instance with PhpMyAdmin)
===================================================
DROP TABLE IF EXISTS proc;
CREATE TABLE proc (
db char( 64 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
name char( 64 ) NOT NULL default '',
type enum( 'FUNCTION', 'PROCEDURE' ) NOT NULL ,
specific_name char( 64 ) NOT NULL default '',
language enum( 'SQL' ) NOT NULL default 'SQL',
sql_data_access enum( 'CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA' ) NOT NULL default 'CONTAINS_SQL',
is_deterministic enum( 'YES', 'NO' ) NOT NULL default 'NO',
security_type enum( 'INVOKER', 'DEFINER' ) NOT NULL default 'DEFINER',
param_list blob NOT NULL ,
returns char( 64 ) NOT NULL default '',
body longblob NOT NULL ,
definer char( 77 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
created timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
modified timestamp NOT NULL default '0000-00-00 00:00:00',
sql_mode set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'POSTGRESQL', 'ORACLE', 'MSSQL', 'DB2', 'MAXDB', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_FIELD_OPTIONS', 'MYSQL323', 'MYSQL40', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NO_AUTO_CREATE_USER', 'HIGH_NOT_PRECEDENCE' ) NOT NULL default '',
comment char( 64 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
PRIMARY KEY ( db , name , type )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COMMENT = 'Stored Procedures';
DROP TABLE IF EXISTS procs_priv;
CREATE TABLE procs_priv (
Host char(60) collate utf8_bin NOT NULL default '',
Db char(64) collate utf8_bin NOT NULL default '',
User char(16) collate utf8_bin NOT NULL default '',
Routine_name char(64) collate utf8_bin NOT NULL default '',
Routine_type enum('FUNCTION','PROCEDURE') collate utf8_bin NOT NULL,
Grantor char(77) collate utf8_bin NOT NULL default '',
Proc_priv set('Execute','Alter Routine','Grant') character set utf8 NOT NULL default '',
Timestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (Host,Db,User,Routine_name,Routine_type),
KEY Grantor (Grantor)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges';
======================
STEP 4: RESTART MySQL:
======================
You simply reboot the server
OR
without rebooting the server:
/etc/rc.d/init.d/mysqld stop;
/etc/rc.d/init.d/mysqld start;
/etc/rc.d/init.d/mysql.init restart;
===========================================
Is this correct?