MySQL8.0和MySQL5.7的区别

Johnny21 等级 719 0 0

隐藏索引
在8.0中,索引可以隐藏。隐藏索引对性能调试非常重要,索引可以被隐藏和显示,当一个索引隐藏时,不会被查询优化器所使用。
隐藏一个索引,然后观察数据库性能是否下降,如果下降,说明该索引有效,否则无效,可以删除。
隐藏索引语法:

ALTER TABLE t ALTER INDEX i INVISIBLE 

恢复索引语法:

ALTER TABLE t ALTER INDEX i VISIBLE 

设置持久化
MySQL 8 新增了SET PERSIST命令。

自增变量持久化。
在8.0之前的版本,自增值是保存在内存中的,自增主键AUTO_INCREMENT如果大于max(primary key)+1,在mysql重启后,会重置AUTO_INCREMENT=max+1。这种情况可能会导致某些业务场景出现主键冲突。(重启重置主键的bug) mysql8.0对其进行了持久化,AUTO_INCREMENT的值不会发生改变
8.0之后,当前最大的自增值发生改变后会记录到redo log中,并在每次检查点时候保存到private system table,这一变化对AUTO_INCREMENT进行了持久化,值不会发生改变。
UTF-8编码
从mysql 8 开始,数据库的编码改为utf8mb4

本文转自 https://blog.csdn.net/qq_39176007/article/details/105378410,如有侵权,请联系删除。

收藏
评论区

相关推荐

MySQL8.0和MySQL5.7的区别
隐藏索引 在8.0中,索引可以隐藏。隐藏索引对性能调试非常重要,索引可以被隐藏和显示,当一个索引隐藏时,不会被查询优化器所使用。 隐藏一个索引,然后观察数据库性能是否下降,如果下降,说明该索引有效,否则无效,可以删除。 隐藏索引语法:ALTER TABLE t ALTER INDEX i INVISIBLE 恢复索引语法:AL
解决mysql ERROR 1045 (28000)-- Access denied for user
解决mysql ERROR 1045 (28000) Access denied for user问题,出现以下问题D:\develop\ide\mysql\mysql5.7\bin mysql u root p Enter password: ERROR 1045 (28000): Access denied for user 'ODBC'@'localh
MySQL5.7升级到8.0过程详解
**前言:** 不知不觉,MySQL8.0已经发布好多个GA小版本了。目前互联网上也有很多关于MySQL8.0的内容了,MySQL8.0版本基本已到稳定期,相信很多小伙伴已经在接触8.0了。本篇文章主要介绍从5.7升级到8.0版本的过程及注意事项,有想做版本升级的小伙伴可以参考下。 #### 1.升级前准备及注意事项 首先
MySQL的各种JOIN
**主题** : ******MySQL的各种JOIN****** **大纲**: 1、徐老师从事多年官方MySQL工作,为众多企业提供MySQL帮助时,企业比较关心的问题是什么呢? 2、随着MySQL 8.0的成熟和推广,相信越来越多的公司希望升级MySQL 8.0,但又会担心低版本到高版本的升级会不会有兼容问题,徐老师能否分享下相关经验? 3、徐
MySQL运维之
**1、mysqldump备份一个数据库** mysqldump命令备份一个数据库的基本语法: mysqldump -u user -p pwd dbname > Backup.sql 我们来讲解一下备份的文件都包含了什么?\-- MySQL dump 10.13 Distrib 5.5.20, for Win32 (x86)\--
Mysql5.7 Mac修改密码
1、mysql5.7 安装没有默认密码,安装过程中mysql会临时给你生成一个随机密码,查看方式如下: ![](https://oscimg.oschina.net/oscnet/1be25fd28f6ce3dc3af7460dbd3ad61bdc1.jpg) 2、打开命令行 alias mysql=/usr/local/mysql/bin/mysql
mysql5.7二进制编译包的安装
mysql5.7的二进制编译包安装方法与5.6版本有些地方不同,下面将安装方法记录,方便后期查看 * 解压并移动目录至/usr/local,重命名为mysql5.7 [root@localhost src]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz [root@
mysql之mysql的安装
此次MySQL安装的版本为:MySQL8.0 系统为:centos6.9 64位 一、利用yum仓库安装 =========== wget [https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm](https://www.oschina.net/action/GoToLin
52.更改root密码 连接mysql mysql命令
13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令 扩展  mysql5.7 root密码更改 http://www.apelearn.com/bbs/thread-7289-1-1.html myisam 和innodb引擎对比 http://www.pureweber.com/article/myisam-v
CentOS 下 MySQL 8.0 安装部署!
公众号关注“**杰哥的IT之旅**”, 选择“**星标**”,重磅干货,第一时间送达! --------------------------- ![](https://oscimg.oschina.net/oscnet/432076a7-85ab-4682-84f8-48c931928bbb.png) MySQL 8正式版8.0.11已发布
Centos7安装Mysql8.0详细步骤
安装mysql8.0 ========== 下载安装包 ----- mysql官方下载地址: [https://dev.mysql.com/downloads/](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fdev.mysql.com%2Fdownloads%2F) 选择: MyS
Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)
**一、MySQL部署** 1.拉取mysql5.7镜像 docker pull mysql:5.7 2.创建容器,启动mysql5.7 (建议别用最新版本的mysql) docker run -id --name=mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
Docker之安装MySQL
1 从DockerHub上查找MySQL镜像 ====================== * 语法: docker search mysql * 示例: ![](https://oscimg.oschina.net/oscnet/d0ff8bb91e37afa6506ae036b5eb8a3e7d7.png) 2 从DockerH
Linux安装mysql5.7版本
1.linux安装mysql5.7顺序 ①mysqladmin –version 查看版本号 ②mysql5.7安装在linux中需要先初始化 Mysqld –initialize –user=mysql ③查看初始化密码 Cat /var/log/mysqld.log 在@localhost后面的为初始化密码 ④启动mysql Syst
sysbench 压测
**IP架构** -------- sysbench部署服务器:172.17.100.107 压测服务器:172.17.100.100 MySQL部署目录:/usr/local/mysql **前置工作** 1.完成MySQL的安装(MySQL5.7最新版本自动部署脚本:[MySQL5.7自动部署脚本](https://www.oschina.ne