1、概述
通常
![](/icons/44003dou.gif)
从
![](/icons/44003yi.gif)
个发布版本升级到另
![](/icons/44003yi.gif)
个版本时
![](/icons/44003dou.gif)
我们建议按照顺序来升级版本
![](/icons/44003dou2.gif)
例如
![](/icons/44003dou.gif)
想要升级 MySQL 3.23 时
![](/icons/44003dou.gif)
先升级到 MySQL 4.0
![](/icons/44003dou.gif)
而不是直接升级到 MySQL 4.1 或 MySQL 5.0
以下是在升级 MySQL 时需要注意
![](/icons/44003de.gif)
事项:
仔细阅读
![](/icons/44003yi.gif)
下升级
![](/icons/44003de.gif)
目标版本
![](/icons/44003de.gif)
新特性和改变
![](/icons/44003de.gif)
特性
![](/icons/44003dou.gif)
以及2个版本的间
![](/icons/44003de.gif)
区别特性
升级前
![](/icons/44003yi.gif)
定要备份所有
![](/icons/44003de.gif)
数据
如果是在Windows平台上升级MySQL
![](/icons/44003dou.gif)
请阅读附录 "在Windows平台上升级MySQL"
有些区别版本间
![](/icons/44003de.gif)
升级可能会涉及对授权表
![](/icons/44003de.gif)
修改
![](/icons/44003dou.gif)
请尤其注意这个问题
![](/icons/44003dou.gif)
详情请阅读附录 "升级授权表"
如果正在运行着同步
![](/icons/44003dou.gif)
请阅读附录 "升级同步"
如果的前运行着MySQL-Max发布版本
![](/icons/44003dou.gif)
想要升级到非MySQL-Max发布版本时
![](/icons/44003dou.gif)
就需要从 mysqld_safe 去掉启动 mysqld-max 服务器
![](/icons/44003de.gif)
参数
在同
![](/icons/44003yi.gif)
个发布系列版本
![](/icons/44003de.gif)
MySQL间
![](/icons/44003dou.gif)
可以随意拷贝格式文件和数据文件
![](/icons/44003dou2.gif)
如果在MySQL运行过程中改变了
![](/icons/44003zifu.gif)
集
![](/icons/44003dou.gif)
就需要对每个MyISAM表执行 "myisamchk -r -q --
![](/icons/44003set.gif)
-character-
![](/icons/44003set.gif)
=char
![](/icons/44003set.gif)
" 命令修复
![](/icons/44003yi.gif)
下
![](/icons/44003dou2.gif)
否则
![](/icons/44003de.gif)
话
![](/icons/44003dou.gif)
索引
![](/icons/44003de.gif)
排序可能不正确
![](/icons/44003dou.gif)
![](/icons/44003yinwei.gif)
修改了
![](/icons/44003zifu.gif)
集
![](/icons/44003dou.gif)
就可能会改变索引
![](/icons/44003de.gif)
顺序
通常情况下
![](/icons/44003dou.gif)
升级到新版本不需要修改任何数据表
![](/icons/44003dou2.gif)
请检查MySQL发布事项中提到
![](/icons/44003de.gif)
升级需要注意
![](/icons/44003de.gif)
地方
![](/icons/44003dou.gif)
如果发现不能直接升级
![](/icons/44003de.gif)
话
![](/icons/44003dou.gif)
就先用 mysqldump 将数据导出来
![](/icons/44003dou.gif)
然后再导回去
如果担心升级失败
![](/icons/44003dou.gif)
就先把旧版本
![](/icons/44003de.gif)
MySQL改个名字备份起来
![](/icons/44003dou.gif)
以备所需
同时
![](/icons/44003dou.gif)
升级完的后可能还需要重新编译跟MySQL相关
![](/icons/44003de.gif)
![](/icons/44003chengxu.gif)
![](/icons/44003dou.gif)
![](/icons/44003yinwei.gif)
新版本
![](/icons/44003de.gif)
头文件和库文件可能有改变了
如果升级后发生问题了
![](/icons/44003dou.gif)
请先检查是否使用了旧
![](/icons/44003de.gif)
my.cnf配置文件
![](/icons/44003dou.gif)
可以通过执行命令 "mysqld --pr
![](/icons/44003int.gif)
-defaults" 来打印出各种配置信息来确认
升级
![](/icons/44003de.gif)
时候最好也升级类似Perl
![](/icons/44003de.gif)
DBD::mysql 模块
![](/icons/44003dou.gif)
同样
![](/icons/44003dou.gif)
对PHP和Python而言也是
![](/icons/44003yi.gif)
样
2、从 MySQL 5.0 升级到 MySQL 5.1
从 5.0 升级到 5.1
![](/icons/44003de.gif)
时候
![](/icons/44003dou.gif)
必须要升级授权表
![](/icons/44003dou2.gif)
否则
![](/icons/44003dou.gif)
可能某些存储过程无法运行
![](/icons/44003dou2.gif)
详情请看附录 "mysql_update MySQL升级时检查数据表"
以下是从 5.0 升级到 5.1 需要注意
![](/icons/44003de.gif)
事项:
检查所有
![](/icons/44003de.gif)
变化
![](/icons/44003dou.gif)
尤其注意那些标志为 "不兼容
![](/icons/44003de.gif)
变化"
![](/icons/44003de.gif)
部分
![](/icons/44003dou2.gif)
详情请看附录 "mysql_update MySQL升级时检查数据表"
可能某些发布版本会改变授权表
![](/icons/44003de.gif)
机制
查看所有重大
![](/icons/44003de.gif)
变化
![](/icons/44003dou.gif)
详情请看MySQL手册
![](/icons/44003de.gif)
"D.1.1.?Changes in release 5.1.10 (Not yet released)" 章节
以下是升级到MySQL 5.1的后会发生
![](/icons/44003de.gif)
![](/icons/44003yi.gif)
些变化:
服务器部分:
不兼容
![](/icons/44003de.gif)
变化:MySQL 5.1 实现了支持无需重启服务器就能在运行时加载或卸载API插件
![](/icons/44003dou2.gif)
这个特性需要用到mysql.plugin表
![](/icons/44003dou.gif)
可以运行 "mysql_upgrade" 命令来创建该表
插件安装在系统变量 plugin_dir 所指
![](/icons/44003de.gif)
目录下
![](/icons/44003dou2.gif)
这个变量也控制着用户自定义
![](/icons/44003hanshu.gif)
(UDFs)所在目录
![](/icons/44003dou.gif)
这相对以前
![](/icons/44003de.gif)
版本有所改变
![](/icons/44003dou2.gif)
在MySQL 5.1中
![](/icons/44003dou.gif)
所有
![](/icons/44003de.gif)
UDFs库必须都安装到 plugin_dir 目录下
![](/icons/44003dou.gif)
从旧版本升级
![](/icons/44003de.gif)
时候
![](/icons/44003dou.gif)
必须把那些库文件都移动到这个目录下
不兼容
![](/icons/44003de.gif)
变化:系统变量 table_cache 改名为 table_open_cache
不兼容
![](/icons/44003de.gif)
变化:在MySQL 5.1.6 中 FULLTEXT
![](/icons/44003de.gif)
索引结构发生变化了
![](/icons/44003dou2.gif)
当升级到 5.1.6 甚至更高的后
![](/icons/44003dou.gif)
需要对每个包含 FULLTEXT 字段
![](/icons/44003de.gif)
数据表执行 "REPAIR TABLE" 语句
在 MySQL 5.1.6 以前
![](/icons/44003dou.gif)
MySQL把普通
![](/icons/44003de.gif)
查询日志和慢查询都写到文件中
![](/icons/44003dou2.gif)
从5.1.6以后
![](/icons/44003dou.gif)
这些日志可以灵活地选择是是写到日志文件中(跟以前
![](/icons/44003yi.gif)
样)或者写到 mysql 数据库
![](/icons/44003de.gif)
general_log 和 slow_log 表中
![](/icons/44003dou2.gif)
如果启用日志记录
![](/icons/44003dou.gif)
这2种方式都可以使用
![](/icons/44003dou2.gif)
选项 --log-output 用来控制这2种日志
![](/icons/44003de.gif)
记录方式
从5.1.6开始
![](/icons/44003dou.gif)
特殊
![](/icons/44003zifu.gif)
集
![](/icons/44003de.gif)
数据库和表
![](/icons/44003de.gif)
标识符在创建相应目录和文件时都会用对应
![](/icons/44003de.gif)
![](/icons/44003zifu.gif)
集编码了
SQL分: