MySQL8.0 正式发布(GA)已经一年多的时间了,汇总一下MySQL8.0的常见问题。这一篇是通用篇,后续会针对具体内容的常见问题持续发布!
1,哪个版本的MySQL可以用于生产环境?
支持在生产环境中使用MySQL 8.0、5.7和5.6。
MySQL 8.0(GA),MySQL 8.0.11于2018年4月19日发布。
MySQL 5.7(GA),MySQL 5.7.9于2015年10月21日发布。
MySQL 5.6(GA),MySQL 5.6.10于2013年2月5日发布。
MySQL 5.5(GA),MySQL 5.5.8于2010年12月3日发布。
MySQL的产品生命周期分为三个阶段,首要阶段、延伸阶段和维持阶段。首要阶段的时间为产品GA开始5年,延伸阶段为GA后6-8年,产品从GA的第9年起进入维持阶段(MySQL版本号的前两位为主版本号,例如8.0 5.7 5.6,后面的为维护版本号码。MySQL的生命周期计算依据主版本号)。三个阶段的区别在于,处于首要阶段的产品会定期发布维护版本、更新、修正错误及修补安全漏洞。延伸阶段的产品会对特定的错误及安全漏洞发布维护版本和更新。进入维持阶段后,MySQL将不会对其进行维护版本的发布、更新和修正错误。因此对应MySQL各个版本的GA日期,目前生产系统上支持8.0 5.7 及5.6版本的MySQL。
2,为什么MySQL的版本号没有 6.X 和 7.X?
由于在这个版本的MySQL中引入了许多重要的新特性,所以开启了一个新的系列。6和7系列之前已经被MySQL使用过,所以这个版本使用的是8.0。
3,MySQL8.0有子查询功能吗?
有,可以参考在线手册的Section 13.2.11, “Subquery Syntax”.
4,MySQL 8.0可以执行多表插入、更新和删除吗?
可以。
5,MySQL 8.0有序列(sequence)功能吗?
没有。但MySQL有一个AUTO_INCREMENT,在MySQL 8.0中也可以处理多主复制模式下的插入。使用auto_increment_increment和auto_increment_offset系统变量,可以设置每个服务器的自动增量值,并保证不与其他服务器产生冲突。auto_increment_increment值应该大于服务器的数量,并且每个服务器应该有一个唯一的偏移量。
6,MySQL 8.0是否具有精确到秒的小数部分的NOW()函数?
有,详细内容请参考在线手册的Section 11.3.5, “Fractional Seconds in Time Values”.。
7,MySQL 8.0适用于多核CPU吗?
是的。MySQL是完全多线程的,并且将使用多个CPU,前提是操作系统支持它们。
8,为什么会看到mysqld有多个进程?
在使用LinuxThreads时,会看到至少有三个mysqld进程在运行。这些实际上是线程。有一个线程用于LinuxThreads管理器,一个线程用于处理连接,还有一个线程用于处理警报和信号。
9,MySQL 8.0可以执行ACID事务吗?
是的。所有当前MySQL版本都支持事务。InnoDB存储引擎提供了完整的ACID事务,具有行锁、多版本控制、非锁定可重复读取和SQL标准的4种隔离级别。
欢迎关注MySQL!