Mysql 5.7的GA版本在10月末已经发布了,有个大牛进行了性能测试,对比5.6版,每秒查询数增加了一倍,达到50w/s. 堪称是mysql史上的又一大里程碑版本。
关于5.7的具体改进点(release note),还没有来得及深入研究,这儿借用inside君的一篇博文概述一下重要的改进点:
小编的机器是mac pro, 目前还是10.9的系统,顺便记录一下升级的过程,希望对mac用户们有所帮助。
1.官网下载,http://dev.mysql.com/downloads/mysql/,找到对应mac系统的mysql版本,目前是5.7.9,选择下载dmg格式的文件。
2.先停止掉mysql服务,有两种方法,第一种是杀进程
ps aux | grep mysql 找出mysql进程pid,然后kill -9 pid
第二种就是正常的停止服务:sudo /usr/local/mysql/support-files/mysql.server stop
3.在安装之前,先看一下旧版本5.6在mac下mysql的安装目录,是在/usr/local/目录下,有mysql-5.6.21-osx10.8-x86_64目录和 指向5.6目录的mysql链接。这个链接是自动生成的。等我们安装5.7后,同样会在/usr/local/下生成5.7的目录,而且mysql链接会自动指向5.7的目录。
3.确认进程停掉后,就开始安装dmg包,打开后,只安装和dmg同名的pkg文件即可,每步都按照默认装完,注意安装完会弹框提示初始密码,记录一下。
4.很重要的一步是要把5.6的所有数据库表的数据迁过来,只要了解mysql的数据是专门存放在安装目录下的data子目录中,数据迁移就很简单了,安全起见先把5.7的数据目录改名备份,然后把5.6的data目录copy到5.7安装目录下:
mv /usr/local/mysql-5.7.9-osx10.9-x86_64/data /usr/local/mysql-5.7.9-osx10.9-x86_64/dataold
sudo cp -rf /usr/local/mysql-5.6.21-osx10.8-x86_64/data /usr/local/mysql-5.7.9-osx10.9-x86_64/
5.设置数据目录所属用户,因为copy过来的data目录默认是root,需要改所有者为_mysql:
sudo chown -R _mysql /usr/local/mysql-5.7.9-osx10.9-x86_64/data
6.接下来就是启动mysql,然后进行升级修复:
sudo /usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/bin/mysql_upgrade
7.重启mysql服务
sudo /usr/local/mysql/support-files/mysql.server restart
8.到这里应该ok了,来验证一下版本号:
/usr/local/mysql/bin/mysql -v
最后要说的是,因为5.7不再支持空密码登录,所以安装后默认密码会是一个随机的串,如果你没有记住的话,可以通过如下方式进行重新设置root密码:
1)停止mysql服务
2)safe方式重启:sudo mysqld_safe --skip-grant-tables &
3)直接改用户表:update mysql.user set authentication_string=PASSWORD('yourpass') where Host='localhost' and User='root';
现在你可以愉快的开启5.7之旅了。