一:从版本3.23升级到4.10
4.10新特性:支持事务处理和存储过程
升级过程的注意事项:
1:升级采用直接复制安装文件的方法,简单实用,但要注意相关的配置更改; 2:直接复制备份的数据库不能通过复制的方法恢复,因此须采用mysqldump方法备份; 3:mysql4.1的用户管理与3.23有所不同,user表中增加了字段max_questions、max_updates、 max_connections,可以对不同的mysql用户进行不同设置,如果是备份/恢复用户就可以将max_questions、max_updates设置大些,具体设置值根据数据库的实际情况而定。
升级步骤:
1: 停止当前MySQL服务
#/www/mysql/bin/mysqladmin shutdown
2:备份数据文件
#cp –R /www/mysql/ /www/backup/
使用mysqldump命令备份
#mysqldump mvnforum > /www /backup/mvnforum.sql #mysqldump demo > /www/backup/demo.sql
删除原有MySQL安装 #rm –R /www/mysql
3: 安装MySQL4.1
创建用户:
#/usr/sbin/groupadd –g 201 mysql
创建用户
#/usr/sbin/useradd -u 1001 -g mysql -d /www/mysql -m -s /bin/ tcsh -c "MySQL Administrator" mysql
设置用户密码: #passwd mysql #设置为mysql
解压缩安装包 #tar –zxvf mysql-standard -4.1.4-gamma-pc-linux-i686.tar.gz
复制文件到MySQL安装位置 #cp mysql-standard-4.1.4-gamma-pc-linux-i686 /usr/local/mysql
修改目录权限 #chown mysql.mysql /usr/local/mysql –R
测试是否能够启动 #/usr/local/mysql/bin/mysqld_safe &
修改启动文件rc.local /usr/local/mysql/bin/mysqld_safe &
修改profile文件,以便于mysql命令执行 PATH=$PATH: /usr/local/mysql/bin
设置mysql密码,如置密码为空,可不执行 #mysqladmin –u root password
增加MySQL用户 #mysql –u root –p
创建用于本地管理的用户 #> GRANT USAGE ON *.* TO IDENTIFIED BY ; #>update user set Select_priv=Y, Insert_priv=Y,Update_priv=Y, Delete_priv=Y,Create_priv=Y, Drop_priv=Y,Reload_priv=Y, _priv=Y,Process_priv=Y, File_priv=Y,Grant_priv =Y, References_priv=Y,Index_priv=Y, Alter_priv=Y,Show_db_priv=Y, Super_priv=Y,Create_tmp_table_priv=Y, Lock_tables_priv=Y, Execute_priv=Y,Repl_slave_priv=Y, Repl_client_priv=Y where Host=172.16.98.2 and User=root; #>update user set max_questions=30000, max_updates=30000 where User=”root”;
创建用于备份恢复的用户 #> GRANT USAGE ON *.* TO IDENTIFIED BY ; #>update user set Select_priv=Y, Insert_priv=Y, Update_priv=Y,Delete_priv=Y, Create_priv=Y,Drop_priv=Y,Reload_priv=Y, Shutdown_priv=Y,Process_priv=Y,File_priv=Y, Grant_priv =Y, References_priv=Y,Index_priv=Y, Alter_priv=Y, Show_db_priv=Y,Super_priv=Y,Create_tmp_table_priv=Y, Lock_tables_priv=Y,Execute_priv=Y,Repl_slave_priv=Y, Repl_client_priv=Y where Host=localhost and User=mysql; #>update user set max_questions=3000000, max_updates=3000000 where user=”mysql”; //mysql作为备份/恢复用户
刷新表 #mysqladmin -u root -p reload #mysqladmin -u root -p flush-privileges
4: 恢复备份数据库
分别创建数据库songliDB、demo 使用mysql数据库用户恢复备份
#./mysql -u mysql -p mvnforum < /www/backup/mvnforum.sql
#./mysql -u mysql -p demo < /www/backup/demo.sql