ITPub博客

首页 > 数据库 > MySQL > MYSQL 升级

MYSQL 升级

原创 MySQL 作者:dbs101 时间:2014-04-06 22:22:12 0 删除 编辑


第一种方法:

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)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25105315/viewspace-1137007/,如需转载,请注明出处,否则将追究法律责任。

下一篇: MYSQL 主备库升级
请登录后发表评论 登录
全部评论

注册时间:2010-12-18

  • 博文量
    92
  • 访问量
    438096