第一种方法:
1. 下载并安装好新版本的MySQL数据库,并将其端口改为3308(避免和旧版本的3306冲突),启动服务。
2. 在新版本下创建同名数据库。
创建db
cd $MYSQL_HOME
scripts/mysql_install_db --defaults-file=$MYSQL_HOME/my_upgrd_new.cnf
启动实例
cd $MYSQL_HOME
mysqld_safe --defaults-file=$MYSQL_HOME/my_upgrd_new.cnf &
mysql -uroot -P 3308 -S$MYSQL_DATA/mysql.sock
3. 在旧版本下备份该数据库。mysql是包含权限记录。
mysql -uroot -P 3306 -S$MYSQL_DATA/mysql.sock
mkdir /tmp/upg
cd /tmp/upg
mysqldump -P3306 -uroot --database mydb mysql -S$MYSQL_DATA/mysql.sock > test.bk
Note: 你也可以加上–opt选项,这样可以使用优化方式将你的数据库导出,减少未知的问题。
4. 将导出的数据库备份导入到新版本的MySQL数据库中。
cd /tmp/upg
mysql -P3308 -uroot -S$MYSQL_DATA/mysql.sock < test.bk
5. 在新版下执行mysql_upgrade命令,其实这个命令包含一下三个命令:
mysql_upgrade -uroot -P 3308 -S$MYSQL_DATA/mysql.sock
Note: 在每一次的升级过程中,mysql_upgrade这个命令我们都应该去执行,它通过mysqlcheck命令帮我们去检查表是否兼容新版本的数据库同时作出修复,还有个很重要的作用就是使用mysql_fix_privilege_tables命令去升级权限表。
6. 关闭旧版本,将新版的数据库的使用端口改为3306,重新启动新版本MySQL数据库。到此,一个简单环境下的数据库升级就结束了。
mysqladmin -uroot -P 3308 -S$MYSQL_DATA/mysql.sock shutdown
cd $MYSQL_HOME
mysqld_safe --defaults-file=$MYSQL_HOME/my_upgrd_new.cnf &
7. 验证
mysql -uroot -P 3308 -S$MYSQL_DATA/mysql.sock
mysql> use mydb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from mytab;
+------+------------+
| id | created |
+------+------------+
| 1 | 2014-04-06 |
+------+------------+
1 row in set (0.00 sec)
第二种方法:
1.备份数据
mysqladmin -uroot -P 3306 -S$MYSQL_DATA/mysql.sock shutdown
tar cvf upg.tar upg
2. 下载并安装好新版本的MySQL数据库。
3. 拷贝控制文件my*.cnf
修改
basedir = /mysql/5.6
为
basedir = /mysql/5.6.16
4. 启动mysql
cd $MYSQL_HOME
mysqld_safe --defaults-file=$MYSQL_HOME/my_upg.cnf &
5. 运行upgrade语句
mysql_upgrade -uroot -P 3306 -S$MYSQL_DATA/mysql.sock
mysql -uroot -P 3306 -S$MYSQL_DATA/mysql.sock
6. 验证
mysql -uroot -P 3308 -S$MYSQL_DATA/mysql.sock
mysql> use mydb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from mytab;
+------+------------+
| id | created |
+------+------------+
| 1 | 2014-04-06 |
+------+------------+
1 row in set (0.00 sec)