在mysql数据量比较大的情况下(比如300G),如果使用mysqldump进行升级花的时间会比较久,有什么好的办法呢?
一、升级过程
1、把mysql的软链接删除,升级数据库软件
2、数据库文件升级
mysql_upgrade –pxxx --force -s
注:这里可以把数据库mysql5.6直接升级到mysql5.7,当然居我所知,可以从mysql5.1升级到mysql5.7可以进行跨版本升级。升级元数据,一定要加上-s,否则会造成所有的表都更新一遍,性能比较差(如果数据量比较大的情况下)。
-s, --upgrade-system-tables
二、如果有主从升级,可以先升级从库,再升级主库。
三、其他一些疑问
1、参数兼容吗?
兼容,如果不兼容会在错误日志中报错
2、Undo和redo兼容吗?
兼容
3、升级前建议备份吗?
对大库进行备份不建议,不需要
4、升级能回退吗?
可以进行回退的。此时需要对mysql库进行备份,在mysql5.6只修改了mysql。
5、升级前要关闭数据库吗?
需要
6、为什么有时候升级用mysqldump?
由于4.0升级到4.1是不兼容的,二进制文件(数据文件)不兼容。
其他版本间的升级都是兼容的,数据量大的情况下,使用mysql_upgrade进行操作。