一、编译安装区别

Mysql5.7版本更新后有很多变化,比如json等,连安装都有变化,他安装必须要BOOST库。mysql的官网源码有带boost库的源码和不带boost库的源码两种,不带boost库源码的需要单独安装boost。

mysql5.7 支持多主一从 ,做高可用方式不同

下载软件

wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20.tar.gz

带boost的mysql源码安装

1.安装依赖包

yum -y install make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel perl perl-devel

2.编译安装

cd /usr/local/mysql-5.7.20/

cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost

make

make install

不带boost的mysql源码安装

1.安装依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

2.编译安装

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.20 \

-DMYSQL_DATADIR=/application/mysql-5.7.20/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.7.20/tmp/mysql.sock \

#开启BOOST库

-DDOWNLOAD_BOOST=1 \

#指定boost库位置

-DWITH_BOOST=/usr/local/boost_1_59_0 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITH_ZLIB=bundled \

-DWITH_SSL=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLE_DOWNLOADS=1 \

-DWITH_DEBUG=0

make

make install

二、初识化时的区别

#【5.6版本初识化】

cd /usr/local/mysql/scripts/

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#【5.7版本初识化】这种初始化方式,默认密码在一个文件中

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

–initialize 生成一个随机密码写到一个文件

–initialize-insecure 不生成随机密码

三、功能和特性的区别

安全性

用户表 mysql.user 的 plugin字段不允许为空, 默认值是mysql_native_password,而不是 mysql_old_password,不再支持旧密码格式;

增加密码过期机制,过期后需要修改密码,否则可能会被禁用,或者进入沙箱模式;

增加密码过期机制,过期后需要修改密码,否则可能会被禁用,或者进入沙箱模式;

提供了更为简单SSL安全访问配置,并且默认连接就采用SSL的加密方式。

灵活性

MySQL数据库从5.7.8版本开始,也提供了对JSON的支持。

可以混合存储结构化数据和非结构化数据,同时拥有关系型数据库和非关系型数据库的优点

能够提供完整的事务支持

generated column是MySQL 5.7引入的新特性,所谓generated column,就是数据库中这一列由其他列计算而得

易用性

在MySQL 5.7 之前,如果用户输入了错误的SQL语句,按下 ctrl+c ,虽然能够”结束”SQL语句的运行,但是,也会退出当前会话,MySQL 5.7对这一违反直觉的地方进行了改进,不再退出会话。

MySQL 5.7可以explain一个正在运行的SQL,这对于DBA分析运行时间较长的语句将会非常有用。

sys schema是MySQL 5.7.7中引入的一个系统库,包含了一系列视图、函数和存储过程, 该项目专注于MySQL的易用性。

可用性

在线设置 复制的过滤规则 不再需要重启MySQL,只需要停止SQLthread,修改完成以后,启动SQLthread。

在线修改buffer pool的大小。

Online DDL MySQL 5.7支持重命名索引和修改varchar的大小,这两项操作在之前的版本中,都需要重建索引或表。

在线开启GTID ,在之前的版本中,由于不支持在线开启GTID,用户如果希望将低版本的数据库升级到支持GTID的数据库版本,需要先关闭数据库,再以GTID模式启动,所以导致升级起来特别麻烦。

性能

临时表的性能改进。

临时表只在当前会话中可见

临时表的生命周期是当前连接(MySQL宕机或重启,则当前连接结束)

只读事务性能改进。

MySQL 5.7通过 避免为只读事务分配事务ID ,不为只读事务分配回滚段,减少锁竞争等多种方式,优化了只读事务的开销,提高了数据库的整体性能。

-加速连接处理

在MySQL 5.7之前,变量的初始化操作(THD、VIO)都是在连接接收线程里面完成的,现在将这些工作下发给工作线程,以减少连接接收线程的工作量,提高连接的处理速度。这个优化对那些频繁建立短连接的应用,将会非常有用。

复制性能的改进 (支持多线程复制(Multi-Threaded Slaves, 简称MTS)

MySQL的默认配置是库级别的并行复制,为了充分发挥MySQL 5.7的并行复制的功能,我们需要将slave-parallel-type配置成LOGICAL_CLOCK。

支持多源复制(Multi-source replication)

严格性改变

默认启用 STRICT_TRANS_TABLES 模式。

对 ONLY_FULL_GROUP_BY 模式实现了更复杂的特性支持,并且也被默认启用。

其他被默认启用的sql mode还有 NO_ENGINE_SUBSTITUTION。

默认参数的改变

默认binlog格式调整为ROW格式

默认binlog错误后的操作调整为ABORT_SERVER

在先前的选项下(binlog_error_action=IGNORE_ERROR),如果一个错误发生,导致无法写入binlog,mysql-server会在错误日志中记录错误并强制关闭binlog功能。这会使mysql-server在不记录binlog的模式下继续运行,导致从库无法继续获取到主库的binlog。

默认开启mysql崩溃时的binlog安全。

默认调低slave_net_timeout。

安装不同

mysql_install_db已经不再推荐使用了,建议改成mysqld --initialize 完成实例初始化。如果 datadir 指向的目标目录下已经有数据文件,则会有[ERROR] Aborting;

在初始化时如果加上 --initial-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的 root@localhost 账号,密码直接写在 log-error 日志文件中;新用户登入后需要立刻修改密码,否则无法继续后续的工作。

5.7和5.6的mysql_mysql5.6与5.7版本的区别相关推荐

  1. jsoncontains mysql_Mysql5.7.9之后的JsonObject类型数据的匹配函数Json_Contains

    数据表 id uid info 1 1001 {"name":"周年庆","status":0,"addtime":&q ...

  2. authenticationstring mysql_mysql5.7修改密码password字段变成了authentication_string字段

    一.mysql5.7 开始新版的mysql数据库下的user表中已经没有password字段了保持密码的字段变成了authentication_string字段 如下: mysql> updat ...

  3. authenticationstring mysql_mysql5.7 的 user表的密码字段从 password 变成了 authentication_string...

    来源: http://www.zhimengzhe.com/shujuku/other/267631.html 感觉还是挺坑的 自己没了解清楚 就动手 转帖一下 mark 一下. 1.首先停止正在运行 ...

  4. 5.0安装没有costom mysql_mysql5.0 64位

    mysql 5.0.96是比较经典的mysql版本,引入了NoSQL接口,支持新的row image control,增强了信息模式.全文本搜索函数.服务器日志等功能,新的性能工具和选项,可大大提高开 ...

  5. ubuntu docker一键安装mysql_mysql5.6在ubuntu下的docker中安装的办法详细说明

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  6. win2008 mysql_mysql5.7.17在win2008R2的64位系统安装与配置实例

    脚本之家已经给大家讲解过MYSQL其他版本在各种环境中的安装过程,大家可以参阅正文下面的相关文章,今天一起来学习下mysql5.7.17的实例安装教学,配置上稍微不同,希望能够帮助到你. 安装MySq ...

  7. 5.7和5.6的mysql_mysql5.6和5.7的区别

    展开全部 MySQL 5.7 已经开发两年了.相比 MySQL 5.6,有特别多的改进.团队主要关注速度,性能据报告是比之前62616964757a686964616fe4b893e5b19e3133 ...

  8. 2008r装mysql_mysql5.7.17在win2008R2的64位系统安装与配置实例

    安装MySql 操作系统:Windows Server 2008 R2 Standard MySql版本:mysql-5.7.17-winx64 第一步:解压mysql-5.7.17-winx64.z ...

  9. win 二进制门安装mysql_MySQL5.7 windows二进制安装

    介绍 1.下载解压 下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-winx64.zip 将下载的mysql解压重命名放在 ...

最新文章

  1. 剑指Offer——平衡二叉树
  2. 剑指Offer系列 重建二叉树
  3. 仿联想商城laravel实战---7、lavarel中如何给用户发送邮件
  4. 计算机游戏的英文单词,关于游戏的英语词汇
  5. python 实现 softmax
  6. java最终考核项目(实现商品管理系统)
  7. Linux复习资料——一篇文章学会安装Java(免环境配置)以及tomcat服务
  8. android圆形进度条ProgressBar颜色设置
  9. 深入理解JavaScript this
  10. 陷阱:C++模块之间的”直接依赖“和”间接依赖“与Makefile的撰写
  11. Slony-I双机备份
  12. 王者非法进入服务器维护封号,王者荣耀哪些行为会被封号 违规封号行为汇总...
  13. web前端基础(03html列表知识)
  14. 澳大利亚计算机领域的科学家,澳科学家首创硅基元件 突破量子计算机制造瓶颈...
  15. HTML5 常见问题 font标签设置字体未生效
  16. php开发的在线客服系统,全开源无加密,支持微信客服对接
  17. BZOJ3168. 【HEOI2013】钙铁锌硒维生素
  18. 如何获取微信好友的地理位置信息
  19. 我终于又可以在头条上赚钱啦
  20. HTTP请求头字段解释

热门文章

  1. PHP 输入/输出流
  2. 解决了昨天差点让人崩溃的问题.
  3. [交互设计工具/原型创作工具]Axure RP Pro 5.0新特性 破解版 注册码
  4. 记录使用 Golang math/rand 随机数遇到的坑
  5. Spring Cloud各组件
  6. 2018.12.26 作业
  7. RAR 5.50 控制台使用记录
  8. 算法入门——排序算法
  9. 高性能服务器设计——模块间通信(转载)
  10. 关闭防火墙linux 16.04,如何在Ubuntu 16.04上配置和设置防火墙