默认情况下,MySQL是否对静态数据应用加密?

默认情况下,MySQL是否对静态数据应用加密?,mysql,encryption,mysql-8.0,Mysql,Encryption,Mysql 8.0,我通过了。对于MySQL v8.0.x,我仍然不清楚存储在文件系统(主要是.ibd文件)中的数据是否默认加密?我在表空间中看到了大量信息,说明: mysql系统表空间包含mysql系统数据库和mysql数据字典表。默认情况下,它是未加密的 这是否也意味着默认情况下存储的数据未加密?有人能帮我指出官方文件上写的是什么吗?是的,默认情况下数据是未加密的 在MySQL 8.0.16之前,您必须显式设置加密以启用它,例如,请参见: 在MySQL 8.0.16之前,必须指定ENCRYPTION子句才能启用

我通过了。对于MySQL v8.0.x,我仍然不清楚存储在文件系统(主要是.ibd文件)中的数据是否默认加密?我在表空间中看到了大量信息,说明:

mysql系统表空间包含mysql系统数据库和mysql数据字典表。默认情况下,它是未加密的


这是否也意味着默认情况下存储的数据未加密?有人能帮我指出官方文件上写的是什么吗?

是的,默认情况下数据是未加密的

在MySQL 8.0.16之前,您必须显式设置加密以启用它,例如,请参见:

在MySQL 8.0.16之前,必须指定ENCRYPTION子句才能启用加密

这当然意味着,如果您不指定它,它在默认情况下是禁用的

自MySQL 8.0.16以来,行为:

从MySQL 8.0.16开始,默认的_table_encryption系统变量定义了模式和常规表空间的默认加密设置。当未明确指定加密子句时,CREATE TABLESPACE和CREATE SCHEMA操作将应用默认的\u table\u加密设置

默认情况下,表继承在其中创建它的模式或常规表空间的加密设置。例如,默认情况下,在启用加密的模式中创建的表是加密的。此行为使DBA能够通过定义和强制实施模式和常规表空间加密默认值来控制表加密的使用

但的默认值为关闭:

默认值关闭

定义在不指定加密子句的情况下创建架构和常规表空间时应用于它们的默认加密设置

默认的_table_加密变量仅适用于用户创建的模式和常规表空间。它不管理mysql系统表空间的加密


请注意,如果更改默认值,现有对象将不会自动加密,您必须显式更改它们。

是的,默认情况下数据未加密

在MySQL 8.0.16之前,您必须显式设置加密以启用它,例如,请参见:

在MySQL 8.0.16之前,必须指定ENCRYPTION子句才能启用加密

这当然意味着,如果您不指定它,它在默认情况下是禁用的

自MySQL 8.0.16以来,行为:

从MySQL 8.0.16开始,默认的_table_encryption系统变量定义了模式和常规表空间的默认加密设置。当未明确指定加密子句时,CREATE TABLESPACE和CREATE SCHEMA操作将应用默认的\u table\u加密设置

默认情况下,表继承在其中创建它的模式或常规表空间的加密设置。例如,默认情况下,在启用加密的模式中创建的表是加密的。此行为使DBA能够通过定义和强制实施模式和常规表空间加密默认值来控制表加密的使用

但的默认值为关闭:

默认值关闭

定义在不指定加密子句的情况下创建架构和常规表空间时应用于它们的默认加密设置

默认的_table_加密变量仅适用于用户创建的模式和常规表空间。它不管理mysql系统表空间的加密

请注意,现有对象不会自动加密。如果更改默认值,则必须显式更改它们