• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ALTER INSTANCE语句

    ALTER INSTANCE instance_action
    
    instance_action: {
        ROTATE INNODB MASTER KEY
      | ROTATE BINLOG MASTER KEY
      | RELOAD TLS [NO ROLLBACK ON ERROR]
    }
    

    ALTER INSTANCE定义适用于MySQL服务器实例的操作。该语句支持以下操作:

    • ALTER INSTANCE ROTATE INNODB MASTER KEY

      此操作将旋转用于InnoDB表空间加密的主加密密钥。密钥轮换需要ENCRYPTION_KEY_ADMINSUPER特权。要执行此操作,必须安装并配置密钥环插件。有关说明,请参见“ MySQL密钥环”。

      ALTER INSTANCE ROTATE INNODB MASTER KEY支持并发DML。但是,它不能与CREATE TABLE ... ENCRYPTION或并发ALTER TABLE ... ENCRYPTION运行,并且采取了锁定措施来防止由于同时执行这些语句而引起的冲突。如果其中一条冲突的语句正在运行,则必须先完成它,然后才能继续执行另一条。

      ALTER INSTANCE ROTATE INNODB MASTER KEY语句被写入二进制日志,以便它们可以在复制的服务器上执行。

      有关其他ALTER INSTANCE ROTATE INNODB MASTER KEY用法信息,请参见“ InnoDB静态数据加密”。

    • ALTER INSTANCE ROTATE BINLOG MASTER KEY

      此操作将旋转用于二进制日志加密的二进制日志主密钥。二进制日志主密钥的密钥轮换需要BINLOG_ENCRYPTION_ADMINSUPER特权。如果binlog_encryption系统变量设置为,则不能使用该语句OFF。要执行此操作,必须安装并配置密钥环插件。有关说明,请参见“ MySQL密钥环”。

      ALTER INSTANCE ROTATE BINLOG MASTER KEY操作不会写入二进制日志,也不会在复制从站上执行。因此,可以在包括多种MySQL版本的复制环境中执行二进制日志主密钥旋转。要在所有适用的主服务器和从属服务器上计划二进制日志主密钥的定期轮换,可以在每台服务器上启用MySQL Event Scheduler并ALTER INSTANCE ROTATE BINLOG MASTER KEY使用一条CREATE EVENT语句发出该语句。如果因为怀疑当前或任何先前的二进制日志主密钥已被泄露而旋转二进制日志主密钥,请在每个适用的主服务器和从属服务器上发出该语句,这使您可以验证立即遵从性。

      有关其他ALTER INSTANCE ROTATE BINLOG MASTER KEY用法信息,包括如果该过程未正确完成或由于服务器意外中断而中断该怎么办,请参见“加密二进制日志文件和中继日志文件”。

    • ALTER INSTANCE RELOAD TLS

      此操作根据定义上下文的系统变量的当前值重新配置SSL上下文。它还更新反映活动上下文值的状态变量。此操作需要CONNECTION_ADMIN特权。

      默认情况下,RELOAD TLS如果配置值不允许创建新的SSL上下文,则该操作将以错误回滚,并且不起作用。先前的上下文值继续用于新连接。

      如果NO ROLLBACK ON ERROR给出了可选子句,并且无法创建新的上下文,则不会发生回滚。而是会生成警告,并为新连接禁用SSL。

      ALTER INSTANCE RELOAD TLS语句不会写入二进制日志(因此不会被复制)。SSL配置是本地的,并且取决于本地文件,不一定在所有涉及的服务器上都存在。

      有关重新配置SSL上下文(包括哪些系统和状态变量与上下文相关)的其他信息,请参阅服务器端运行的加密连接运行时配置。