MySQL8.0和MySQL5.7的区别
kelvin 发布于 2020-09-11

1、字符编码方面:MySQL 的 utf8 实际上不是真正的 UTF-8。utf8 只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。MYSQL5.7默认的是UTF-8,而MySQL8.0默认是utf8mb4,对于从5.7版本升级到8.0导致的乱码问题,可以使用SQL语句进行表的编码修改:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;


2、MySQL 8 新增了SET PERSIST命令。

自增变量持久化。在8.0之前的版本,自增值是保存在内存中的,自增主键AUTO_INCREMENT如果大于max(primary key)+1,在mysql重启后,会重置AUTO_INCREMENT=max+1。mysql8.0对其进行了持久化,当前最大的自增值发生改变后会记录到redo log中,并在每次检查点时候保存到private system table,这一变化对AUTO_INCREMENT进行了持久化,值不会发生改变。

kelvin
关注 私信
文章
92
关注
0
粉丝
0