前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >\bmysql5.7 再不升就out了

\bmysql5.7 再不升就out了

作者头像
后端技术探索
发布2018-08-09 15:38:42
4200
发布2018-08-09 15:38:42
举报

Mysql 5.7的GA版本在10月末已经发布了,有个大牛进行了性能测试,对比5.6版,每秒查询数增加了一倍,达到50w/s. 堪称是mysql史上的又一大里程碑版本。

关于5.7的具体改进点(release note),还没有来得及深入研究,这儿借用inside君的一篇博文概述一下重要的改进点:

  1. 1、更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的;
  2. 2、更好的InnoDB存储引擎:内容太多,就等Inside君的《MySQL技术内幕:InnoDB存储引擎》第3版吧;
  3. 3、更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。此外,GTID在线平滑升级也变得可能;
  4. 4、更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题;
  5. 5、原生JSON类型的支持:文档数据库们已经哭晕在厕所了吧;
  6. 6、更好的地理信息服务支持:InnoDB原生支持地理位置类型,支持GeoJSON,GeoHash特性;
  7. 7、新增sys库:这是Inside君最爱的功能(虽然5.6也可以支持),但是知道的人好像不怎么多,以后这会是DBA访问最频繁的库。

小编的机器是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之旅了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 nginx 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档