位置:海鸟网 > IT > mySQL >

MySQL从旧的版本升级为新的版本全攻略

一:从版本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 root@172.16.98.2 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 mysql@localhost
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