|
|
本帖最后由 民审-M 于 2018-4-27 13:24 编辑
在MySQL 8.0中添加的功能
以下功能已添加到MySQL 8.0中:
数据字典。 MySQL现在整合了一个存储有关数据库对象信息的事务数据字典。在以前的MySQL版本中,字典数据存储在元数据文件和非事务表中。有关更多信息,请参阅第14章MySQL数据字典。 原子数据定义语句(Atomic DDL)。 原子DDL语句将与DDL操作关联的数据字典更新,存储引擎操作和二进制日志写入组合到单个原子事务中。有关更多信息,请参见 第13.1.1节“原子数据定义语句支持”。 安全和帐户管理。 这些增强功能是为了提高安全性并增加DBA在帐户管理方面的灵活性而添加的:
一个新的caching_sha2_password 身份验证插件可用。像sha256_password插件一样 , caching_sha2_password实现SHA-256密码散列,但使用缓存解决连接时的延迟问题。它还支持更多的连接协议,并且不需要与基于RSA密钥对的密码交换功能的OpenSSL进行链接。请参见 第6.5.1.3节“缓存SHA-2可插入验证”。 该caching_sha2_password和 sha256_password认证插件提供比更安全的密码加密 mysql_native_password插件,并 caching_sha2_password提供了比更好的性能sha256_password。由于这些优越的安全性和性能特点 caching_sha2_password,它现在是首选身份验证插件,并且也是默认身份验证插件而不是mysql_native_password。有关此更改对服务器操作的影响以及服务器与客户端和连接器的兼容性的信息,请参阅 caching_sha2_password作为首选身份验证插件。 MySQL现在支持角色,这些角色被命名为特权集合。角色可以创建和删除。角色可以拥有授予和撤消的权限。角色可以授予用户帐户并从其中撤销。可以从授予该帐户的角色中选择适用于某个帐户的活动适用角色,并且可以在该帐户的会话期间对其进行更改。有关更多信息,请参见 部分6.3.4,“使用角色”。 MySQL现在维护有关密码历史记录的信息,从而限制重复使用以前的密码。数据库管理员可能要求不要从以前的密码中选择新的密码进行一些密码更改或一段时间。可以在全局和每个帐户的基础上建立密码重用策略。结合现有的密码到期功能以要求定期更改密码,新的密码历史记录功能可让DBA更加全面地控制密码管理。有关更多信息,请参见 第6.3.8节“密码管理”。 如果使用OpenSSL进行编译,MySQL现在支持FIPS模式,并且运行时可以使用OpenSSL库和FIPS对象模块。FIPS模式对加密操作施加了条件,例如对可接受的加密算法的限制或对较长密钥长度的要求。请参见 第6.6节“FIPS支持”。
资源管理。 MySQL现在支持创建和管理资源组,并允许将服务器内运行的线程分配给特定的组,以便线程根据组可用的资源执行。组属性启用对其资源的控制,以启用或限制组中线程的资源消耗。DBA可以根据不同的工作负载适当地修改这些属性。目前,CPU时间是可管理的资源,由“ 虚拟CPU ”作为包括CPU核心,超线程,硬件线程等的术语。服务器在启动时确定有多少虚拟CPU可用,并且具有适当权限的数据库管理员可以将这些CPU与资源组相关联,并将线程分配给组。有关更多信息,请参见 第8.12.5节“资源组”。 InnoDB增强。 增加了这些InnoDB增强功能:
每次更改值时,当前最大自动增量计数器值都写入重做日志,并保存到每个检查点的引擎专用系统表中。这些更改使当前最大自动增量计数器值在服务器重新启动时保持不变。另外:
当遇到索引树破坏时, InnoDB将 损坏标志写入重做日志,这使得损坏标志崩溃安全。InnoDB还将内存中损坏标志数据写入每个检查点的引擎专用系统表中。恢复期间,InnoDB从两个位置读取损坏标志,并在将内存表和索引对象标记为损坏之前合并结果。 所有InnoDB临时表现在都在共享临时表空间中创建, ibtmp1。 InnoDB支持 NOWAIT和SKIP LOCKED选项,SELECT ... FOR SHARE并SELECT ... FOR UPDATE锁定读取语句。 NOWAIT如果请求的行被另一个事务锁定,则会立即返回语句。SKIP LOCKED从结果集中删除锁定的行。请参阅 使用NOWAIT锁定读取并发性并跳过锁定。 SELECT ... FOR SHARE替换 SELECT ... LOCK IN SHARE MODE,但 LOCK IN SHARE MODE仍可用于向后兼容。这些陈述是等同的。然而,FOR UPDATE和 FOR SHARE支持 NOWAIT,SKIP LOCKED和选项。请参见 第13.2.10节“SELECT语法”。 OF tbl_nameOF tbl_name 将锁定查询应用于指定的表。 ADD PARTITION,DROP PARTITION,COALESCE PARTITION,REORGANIZE PARTITION,和REBUILD PARTITION ALTER TABLE选项由本地分区就地API的支持,可能与使用 ALGORITHM={COPY|INPLACE}和 LOCK条款。 DROP PARTITION与 ALGORITHM=INPLACE存储在该分区删除数据并丢弃分区。但是, DROP PARTITION使用 ALGORITHM=COPY或 old_alter_table=ON 重建分区表并尝试将数据从丢弃的分区移动到具有兼容PARTITION ... VALUES 定义的另一个分区。无法移动到另一个分区的数据被删除。 该InnoDB存储引擎现在使用MySQL的数据字典,而不是它自己的存储引擎特定的数据字典。有关数据字典的信息,请参阅 第14章MySQL数据字典。 mysql系统表和数据字典表现在创建在MySQL数据目录中InnoDB命名的单个 表空间文件 mysql.ibd中。以前,这些表是InnoDB在mysql数据库目录中的单个表空间文件中创建的。 在MySQL 8.0中引入了以下撤消表空间更改:
修改了影响缓冲池预冲洗和冲洗行为的配置选项的默认值:
与MySQL捆绑在一起 的 zlib库版本从版本1.2.3升级到版本1.2.11。MySQL在zlib库的帮助下实现压缩。 序列化字典信息(SDI)存在于InnoDB除临时表空间和撤消表空间文件之外的所有表空间文件中。SDI是表和表空间对象的序列化元数据。SDI数据的存在提供元数据冗余。例如,如果数据字典变得不可用,字典对象元数据可能从表空间文件中提取。使用 ibd2sdi工具执行SDI提取 。SDI数据以JSON格式存储 。 在表空间文件中包含SDI数据会增加表空间文件的大小。SDI记录需要一个索引页面,默认大小为16k。但是,SDI数据在存储时会被压缩以减少存储空间。 以下重做日志优化已实现:
用户线程现在可以并发写入日志缓冲区而不同步写入。 用户线程现在可以按照宽松的顺序将脏页面添加到flush列表中。 现在专用的日志线程负责将日志缓冲区写入系统缓冲区,将系统缓冲区刷新到磁盘,将写入和刷新的重做通知用户线程,维持放宽的清空列表顺序所需的延迟,并编写检查点。 添加了系统变量,用于配置等待刷新重做的用户线程使用旋转延迟:
字符集支持。 默认字符集已从更改 latin1为utf8mb4。该utf8mb4字符集有几个新的排序规则,其中包括 utf8mb4_ja_0900_as_cs,提供对Unicode在MySQL中第一个日本特定语言的排序规则。有关更多信息,请参见 第10.10.1节“Unicode字符集”。 JSON增强。 对MySQL的JSON功能进行了以下增强或增加:
这是 -> MySQL 5.7中引入的列路径运算符的改进 ; col->>"$.path"相当于 JSON_UNQUOTE(col->"$.path")。内联路径运算符可以用来随时随地可以使用JSON_UNQUOTE(JSON_EXTRACT()),如 SELECT列清单, WHERE和HAVING 条款,并ORDER BY和 GROUP BY条款。有关更多信息,请参阅运算符的说明以及 第12.16.8节“JSON路径语法”。 添加了JSON实用程序功能 JSON_PRETTY(),该功能 JSON 以易于阅读的格式输出现有值; 每个JSON对象成员或数组值都打印在一个单独的行上,并且子对象或数组的打算是相对于其父项的两个空格。 这个函数也可以处理一个可以被解析为JSON值的字符串。 JSON在使用查询 排序值时ORDER BY,每个值现在由排序关键字的可变长度部分表示,而不是固定1K大小的一部分。在很多情况下,这可以减少过度使用; 例如,一个标量INT或偶 BIGINT数值实际上只需要很少的字节,所以这个空间的剩余部分(高达90%或更多)被填充占用。此更改对性能具有以下好处:
添加了JSON实用程序功能 JSON_STORAGE_SIZE()和 JSON_STORAGE_FREE()。 JSON_STORAGE_SIZE()在任何部分更新之前返回用于JSON文档二进制表示的字节存储空间(请参阅前一项)。 JSON_STORAGE_FREE()显示 JSON使用JSON_SET()or 部分更新后,类型表列中剩余的空间量 JSON_REPLACE(); 如果新值的二进制表示小于以前的值,则该值大于零。 这些函数中的每一个还接受JSON文档的有效字符串表示。对于这样的值, JSON_STORAGE_SIZE()返回其二进制表示在转换为JSON文档后使用的空间。对于包含JSON文档的字符串表示形式的变量, JSON_STORAGE_FREE()返回零。如果它的(非空)参数不能被解析为有效的JSON文档,并且NULL参数是,则 任何函数都会产生错误NULL。 JSON_STORAGE_SIZE()并 JSON_STORAGE_FREE()在MySQL 8.0.2中实现。 在MySQL 8.0.2中增加了对$[1 to 5]XPath表达式等范围的支持 。还在此版本中为last关键字和相对寻址添加了支持 ,以便$[last]始终选择数组中最后一个(编号最大的)元素和 $[last-1]最后一个元素的下一个元素。 last并且使用它的表达式也可以包含在范围定义中; 例如, $[last-2 to last-1]返回数组中的最后两个元素。有关其他信息和示例,请参阅 搜索和修改JSON值。
第一个对象的每个成员都没有成员,第二个对象中具有相同的键。 没有成员的第二个对象的每个成员在第一个对象中具有相同的键,并且其值不是JSON null文本。 每个成员都有一个存在于两个对象中的键,而其第二个对象中的值不是JSON null文字。
实现了“ 最后重复密钥获胜 ” 重复密钥规范化,符合 RFC 7159和大多数JavaScript解析器。此处显示了此行为的一个示例,其中仅x保留了具有密钥的最右侧成员: mysql> SELECT JSON_OBJECT('x', '32', 'y', '[true, false]', > 'x', '"abc"', 'x', '100') AS Result;+------------------------------------+| Result |+------------------------------------+| {"x": "100", "y": "[true, false]"} |+------------------------------------+1 row in set (0.00 sec)
插入到MySQL JSON列中的值 也以这种方式标准化,如下例所示: mysql> CREATE TABLE t1 (c1 JSON);mysql> INSERT INTO t1 VALUES ('{"x": 17, "x": "red", "x": [3, 5, 7]}');mysql> SELECT c1 FROM t1;+------------------+| c1 |+------------------+| {"x": [3, 5, 7]} |+------------------+
这是与以前版本的MySQL不兼容的变化, 在这种情况下使用了“ 第一个重复键赢 ”算法。 JSON_TABLE() 在MySQL 8.0.4中 添加了该功能。该函数接受JSON数据并将其作为具有指定列的关系表返回。 此函数具有语法 ,其中 是返回JSON数据的表达式,是应用于源的JSON路径,并且 是列定义的列表。这里显示一个例子: JSON_TABLE(expr, path COLUMNScolumn_list) [AS] alias)exprpathcolumn_list mysql> SELECT * -> FROM -> JSON_TABLE( -> '[{"a":3,"b":"0"},{"a":"3","b":"1"},{"a":2,"b":1},{"a":0},{"b":[1,2]}]', -> "$- " COLUMNS( -> rowid FOR ORDINALITY, -> -> xa INT EXISTS PATH "$.a", -> xb INT EXISTS PATH "$.b", -> -> sa VARCHAR(100) PATH "$.a", -> sb VARCHAR(100) PATH "$.b", -> -> ja JSON PATH "$.a", -> jb JSON PATH "$.b" -> ) -> ) AS jt1;+-------+------+------+------+------+------+--------+| rowid | xa | xb | sa | sb | ja | jb |+-------+------+------+------+------+------+--------+| 1 | 1 | 1 | 3 | 0 | 3 | "0" || 2 | 1 | 1 | 3 | 1 | "3" | "1" || 3 | 1 | 1 | 2 | 1 | 2 | 1 || 4 | 1 | 0 | 0 | NULL | 0 | NULL || 5 | 0 | 1 | NULL | NULL | NULL | [1, 2] |+-------+------+------+------+------+------+--------+
优化。 这些优化器增强功能被添加:
MySQL现在支持不可见索引。优化器根本不使用不可见索引,但通常保持不变。索引默认是可见的。不可见的索引可以测试删除索引对查询性能的影响,而不会做出必须撤销的破坏性更改,如果索引变为需要的话。参见 第8.3.12节“不可见索引”。 MySQL现在支持降序索引: DESC在索引定义中不再被忽略,但会导致键值按降序存储。以前,索引可能会以相反顺序扫描,但性能会受到影响。可以按照顺序扫描降序索引,这是更高效的。降序索引还使得优化器可以在最有效的扫描顺序混合某些列的升序和其他列的降序时使用多列索引。请参见 第8.3.13节“降序索引”。
日志记录。 错误日志记录被重写为使用MySQL组件体系结构。传统错误日志记录是使用内置组件实现的,并且使用系统日志进行日志记录是作为可加载组件实现的。另外,还有一个可加载的JSON日志记录器。要控制启用哪些日志组件,请使用 log_error_services系统变量。有关更多信息,请参见 第5.4.2节“错误日志”。 复制。 MySQL复制有以下增强功能:
MySQL复制现在支持使用紧凑的二进制格式对JSON文档进行部分更新的二进制日志记录,从而节省日志中记录完整JSON文档的空间。这种紧凑的日志记录是在基于语句的日志记录正在使用时自动完成的,并且可以通过设置新的binlog_row_value_options系统变量来启用 PARTIAL_JSON。有关更多信息,请参阅 JSON值的部分更新以及描述 binlog_row_value_options。
特性在MySQL 8.0中不推荐使用
以下功能在MySQL 8.0中不推荐使用,并且可能会在未来的系列中删除。在显示替代品的地方,应该更新应用程序以使用它们。 对于那些使用在MySQL 8.0中已弃用的功能的应用程序,它们在更高版本的MySQL系列中已被删除,当从MySQL 8.0主站复制到更高系列的从站时,语句可能会失败,或者可能对主站和从站有不同的影响。为避免此类问题,应修改使用8.0中弃用功能的应用程序,以避免它们,并尽可能使用替代方法。 从MySQL 8.0.4开始,该validate_password 插件已被重新实现以使用服务器组件基础结构。插件形式 validate_password仍然可用,但不推荐使用,将在未来版本的MySQL中删除。使用插件的MySQL安装应该转而使用组件。请参见 第6.5.3.3节“过渡到密码验证组件”。
特性在MySQL 8.0中被删除
以下项目已过时并已在MySQL 8.0中删除。在显示替代品的地方,应该更新应用程序以使用它们。 对于使用MySQL 8.0中删除的功能的MySQL 5.7应用程序,当从MySQL 5.7主站复制到MySQL 8.0从站时,语句可能会失败,或者可能对主站和从站有不同的影响。为了避免这些问题,应该修改使用MySQL 8.0中删除的功能的应用程序,以避免它们,并尽可能使用替代方法。 表1.1重命名InnoDB信息模式视图 [td]| 旧名称 | 新名字 | | INNODB_SYS_COLUMNS | INNODB_COLUMNS | | INNODB_SYS_DATAFILES | INNODB_DATAFILES | | INNODB_SYS_FIELDS | INNODB_FIELDS | | INNODB_SYS_FOREIGN | INNODB_FOREIGN | | INNODB_SYS_FOREIGN_COLS | INNODB_FOREIGN_COLS | | INNODB_SYS_INDEXES | INNODB_INDEXES | | INNODB_SYS_TABLES | INNODB_TABLES | | INNODB_SYS_TABLESPACES | INNODB_TABLESPACES | | INNODB_SYS_TABLESTATS | INNODB_TABLESTATS | | INNODB_SYS_VIRTUAL | INNODB_VIRTUAL |
以下与帐户管理相关的功能已被删除:
查询缓存已被删除。删除包括这些项目:
该FLUSH QUERY CACHE和 RESET QUERY CACHE语句。 这些线程状态:checking privileges on cached query,checking query cache for query,invalidating query cache entries,sending cached result to client,storing result in query cache,Waiting for query cache lock。
这些不推荐使用的查询缓存项目保留不推荐使用,但不起作用,并且将在未来的MySQL版本中删除:
该have_query_cache系统变量仍然是过时的,总是有一个值 NO,并会在将来的MySQL版本中删除。 数据字典提供有关数据库对象的信息,因此服务器不再检查数据目录中的目录名称以查找数据库。因此, --ignore-db-dir选项和 ignore_db_dirs系统变量是无关的并且已被删除。 该sync_frm系统变量已被删除,因为.frm文件已经过时。 该secure_auth系统变量和 --secure-auth客户端选项已被删除。C API函数的MYSQL_SECURE_AUTH选项 mysql_options()已被删除。 该multi_range_count系统变量已被删除。 sql_log_bin系统变量 的全局范围 已被删除。sql_log_bin仅具有会话范围,并且@@global.sql_log_bin应该调整依赖访问的应用程序 。 这些过时兼容性SQL模式已被删除: DB2,MAXDB, MSSQL,MYSQL323, MYSQL40,ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS,NO_TABLE_OPTIONS。它们不能再分配给sql_mode系统变量或作为 mysqldump --compatible选项的允许值使用 。 未使用date_format, datetime_format, time_format,和 max_tmp_tables系统变量已被删除。 在EXTENDED与 PARTITIONS该关键字 EXPLAIN声明已被删除。这些关键字是不必要的,因为它们的效果总是启用 这些与加密相关的项目已被删除:
在MySQL 5.7中,多个名称下可用的几个空间函数已被弃用,以使空间函数名称空间更加一致,目标是如果每个空间函数名称ST_执行精确操作,或者MBR执行基于最小边界矩形的操作。在MySQL 8.0中,废弃的函数被去除仅离开对应的ST_和 MBR功能:
这些功能有利于去除的 MBR名字: Contains(), Disjoint(), Equals(), Intersects(), Overlaps(), Within()。 这些功能有利于去除的 ST_名字:Area(), AsBinary(), AsText(),AsWKB(), AsWKT(),Buffer(), Centroid(), ConvexHull(), Crosses(),Dimension(), Distance(), EndPoint(), Envelope(), ExteriorRing(), GeomCollFromText(), GeomCollFromWKB(), GeomFromText(),GeomFromWKB(), GeometryCollectionFromText(), GeometryCollectionFromWKB(), GeometryFromText(), GeometryFromWKB(), GeometryN(),GeometryType(), InteriorRingN(), IsClosed(), IsEmpty(), IsSimple(), LineFromText(), LineFromWKB(), LineStringFromText(),LineStringFromWKB(), MLineFromText(), MLineFromWKB(), MPointFromText(), MPointFromWKB(), MPolyFromText(), MPolyFromWKB(),MultiLineStringFromText(), MultiLineStringFromWKB(), MultiPointFromText(), MultiPointFromWKB(), MultiPolygonFromText(),MultiPolygonFromWKB(), NumGeometries(), NumInteriorRings(), NumPoints(), PointFromText(), PointFromWKB(), PointN(),PolyFromText(), PolyFromWKB(), PolygonFromText(), PolygonFromWKB(), SRID(), StartPoint(), Touches(),X(), Y()。
解析器不再被视为SQL语句中\N的同义词NULL。NULL改为使用 。 PROCEDURE ANALYSE() 语法被删除。 对于C API,MYSQL_OPT_SSL_ENFORCE以及 MYSQL_OPT_SSL_VERIFY_SERVER_CERT选项 mysql_options() 对应于客户端--ssl和 --ssl-verify-server-cert选择和已被删除。使用MYSQL_OPT_SSL_MODE选项值SSL_MODE_REQUIREDor或者 SSL_MODE_VERIFY_IDENTITY。 服务器不再执行将包含特殊字符的pre-MySQL 5.1数据库名称转换为5.1格式并添加#mysql50#前缀。由于这些转换不再执行,则 --fix-db-names与 --fix-table-names对选项 mysqlcheck的,该UPGRADE DATA DIRECTORY NAME条款的 ALTER DATABASE声明,以及Com_alter_db_upgrade状态变量已被删除。 只有从一个主要版本到另一个主要版本才支持升级(例如,5.0到5.1或5.1到5.5),因此只需要将旧的5.0数据库名称转换为当前版本的MySQL。作为一种解决方法,在升级到更新版本之前,将MySQL 5.0安装升级到MySQL 5.1。 两个MySQL存储引擎目前提供原生支持-分区 InnoDB和 NDB; 其中只有 InnoDBMySQL 8.0支持。任何使用任何其他存储引擎在MySQL 8.0中创建分区表的尝试都会失败。 升级的后果。 不支持使用非MySQL InnoDB(例如 MyISAM)从MySQL 5.7(或更早版本)到MySQL 8.0 的存储引擎直接升级分区表。有两种选择来处理这样的表格:
在InnoDB 将服务器升级到MySQL 8.0之前,必须对每个分区非表执行至少一项刚刚列出的操作。否则,升级后不能使用这样的表格。 由于使用不带分区支持的存储引擎生成分区表的表创建语句现在会因错误(ER_CHECK_NOT_IMPLEMENTED)而失败,因此必须确保转储文件中的任何语句(例如由 mysqldump编写的语句)从希望导入到创建分区表的MySQL 8.0服务器的较旧版本的MySQL中,不要指定像MyISAM没有本地分区处理程序那样的存储引擎 。您可以通过执行以下任一操作来完成此操作:
系统和状态变量信息不再保存在INFORMATION_SCHEMA。这些表已被删除: GLOBAL_VARIABLES, SESSION_VARIABLES, GLOBAL_STATUS, SESSION_STATUS。改用相应的性能模式表。请参见 第25.11.13节“性能模式系统变量表”和 第25.11.14节“性能模式状态变量表”。另外,show_compatibility_56 系统变量已被删除。它被用于过渡期间的系统和状态变量信息INFORMATION_SCHEMA表被移动到性能模式表,并不再需要。这些状态变量已被删除: Slave_heartbeat_period, Slave_last_heartbeat,Slave_received_heartbeats, Slave_retried_transactions, Slave_running。他们提供的信息可在性能模式表中找到; 请参阅 迁移到性能架构系统和状态变量表。 该libmysqld嵌入式服务器库已被删除,连同:
在, , ,和 选项 mysql_options()MYSQL_OPT_GUESS_CONNECTIONMYSQL_OPT_USE_EMBEDDED_CONNECTIONMYSQL_OPT_USE_REMOTE_CONNECTIONMYSQL_SET_CLIENT_IP 该 mysql_config --libmysqld-libs, --embedded-libs和 --embedded选项 该CMake的 WITH_EMBEDDED_SERVER, WITH_EMBEDDED_SHARED_LIBRARY和 INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR 选项 (无证)的 mysql --server-arg选项 该mysqltest --embedded-server, --server-arg和 --server-file选项 该mysqltest_embedded和 mysql_client_test_embedded测试程序
以下服务器错误代码未被使用并被删除。应该更新专门针对这些错误进行测试的应用程序。 ER_BINLOG_READ_EVENT_CHECKSUM_FAILUREER_BINLOG_ROW_RBR_TO_SBRER_BINLOG_ROW_WRONG_TABLE_DEFER_CANT_ACTIVATE_LOGER_CANT_CHANGE_GTID_NEXT_IN_TRANSACTIONER_CANT_CREATE_FEDERATED_TABLEER_CANT_CREATE_SROUTINEER_CANT_DELETE_FILEER_CANT_GET_WDER_CANT_SET_GTID_PURGED_WHEN_GTID_MODE_IS_OFFER_CANT_SET_WDER_CANT_WRITE_LOCK_LOG_TABLEER_CREATE_DB_WITH_READ_LOCKER_CYCLIC_REFERENCEER_DB_DROP_DELETEER_DELAYED_NOT_SUPPORTEDER_DIFF_GROUPS_PROCER_DISK_FULLER_DROP_DB_WITH_READ_LOCKER_DROP_USERER_DUMP_NOT_IMPLEMENTEDER_ERROR_DURING_CHECKPOINTER_ERROR_ON_CLOSEER_EVENTS_DB_ERRORER_EVENT_CANNOT_DELETEER_EVENT_CANT_ALTERER_EVENT_COMPILE_ERRORER_EVENT_DATA_TOO_LONGER_EVENT_DROP_FAILEDER_EVENT_MODIFY_QUEUE_ERRORER_EVENT_NEITHER_M_EXPR_NOR_M_ATER_EVENT_OPEN_TABLE_FAILEDER_EVENT_STORE_FAILEDER_EXEC_STMT_WITH_OPEN_CURSORER_FAILED_ROUTINE_BREAK_BINLOGER_FLUSH_MASTER_BINLOG_CLOSEDER_FORM_NOT_FOUNDER_FOUND_GTID_EVENT_WHEN_GTID_MODE_IS_OFF__UNUSEDER_FRM_UNKNOWN_TYPEER_GOT_SIGNALER_GRANT_PLUGIN_USER_EXISTSER_GTID_MODE_REQUIRES_BINLOGER_GTID_NEXT_IS_NOT_IN_GTID_NEXT_LISTER_HASHCHKER_INDEX_REBUILDER_INNODB_NO_FT_USES_PARSERER_LIST_OF_FIELDS_ONLY_IN_HASH_ERRORER_LOAD_DATA_INVALID_COLUMN_UNUSEDER_LOGGING_PROHIBIT_CHANGING_OFER_MALFORMED_DEFINERER_MASTER_KEY_ROTATION_ERROR_BY_SEER_NDB_CANT_SWITCH_BINLOG_FORMATER_NEVER_USEDER_NISAMCHKER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERRORER_NO_FILE_MAPPINGER_NO_GROUP_FOR_PROCER_NO_RAID_COMPILEDER_NO_SUCH_KEY_VALUEER_NO_SUCH_PARTITION__UNUSEDER_OBSOLETE_CANNOT_LOAD_FROM_TABLEER_OBSOLETE_COL_COUNT_DOESNT_MATCH_CORRUPTEDER_ORDER_WITH_PROCER_PARTITION_SUBPARTITION_ERRORER_PARTITION_SUBPART_MIX_ERRORER_PART_STATE_ERRORER_PASSWD_LENGTHER_QUERY_ON_MASTERER_RBR_NOT_AVAILABLEER_SKIPPING_LOGGED_TRANSACTIONER_SLAVE_CHANNEL_DELETEER_SLAVE_MULTIPLE_CHANNELS_HOST_PORTER_SLAVE_MUST_STOPER_SLAVE_WAS_NOT_RUNNINGER_SLAVE_WAS_RUNNINGER_SP_GOTO_IN_HNDLRER_SP_PROC_TABLE_CORRUPTER_SQL_MODE_NO_EFFECTER_SR_INVALID_CREATION_CTXER_TABLE_NEEDS_UPG_PARTER_TOO_MUCH_AUTO_TIMESTAMP_COLSER_UNEXPECTED_EOFER_UNION_TABLES_IN_DIFFERENT_DIRER_UNSUPPORTED_BY_REPLICATION_THREADER_UNUSED1ER_UNUSED2ER_UNUSED3ER_UNUSED4ER_UNUSED5ER_UNUSED6ER_VIEW_SELECT_DERIVED_UNUSEDER_WRONG_MAGICER_WSAS_FAILED- 注意
InnoDB 在MySQL数据目录之外创建表空间数据文件时不再创建 .isl文件(InnoDB符号链接文件)。该 innodb_directories选项现在支持查找在数据目录之外创建的表空间文件。 以下InnoDB文件格式配置选项已被删除:
innodb_file_format innodb_file_format_check innodb_file_format_max innodb_large_prefix
文件格式配置选项对于创建与InnoDBMySQL 5.1 早期版本兼容的表是必需的 。现在MySQL 5.1已经到了产品生命周期的末尾,这些选项不再需要。 innodb_support_xa在XA事务中支持两阶段提交 的系统变量已被删除。InnoDB支持XA事务中的两阶段提交始终处于启用状态。 对DTrace的支持已被删除。
|
|