电脑技术学习

MySQL旧版本升级为新版本

dn001

一:从版本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