ALTER INSTANCE instance_action
instance_action: {
| {ENABLE|DISABLE} INNODB REDO_LOG
| ROTATE INNODB MASTER KEY
| ROTATE BINLOG MASTER KEY
| RELOAD TLS
[FOR CHANNEL {mysql_main | mysql_admin}]
[NO ROLLBACK ON ERROR]
| RELOAD KEYRING
}
ALTER INSTANCE
定義適用於 MySQL 伺服器執行個體的動作。此陳述式支援下列動作:
ALTER INSTANCE {ENABLE | DISABLE} INNODB REDO_LOG
此動作啟用或停用
InnoDB
重做記錄。預設情況下會啟用重做記錄。此功能僅用於將資料載入新的 MySQL 執行個體。此陳述式不會寫入二進位記錄。警告請勿在生產系統上停用重做日誌 (redo logging)。 雖然允許在停用重做日誌時關閉並重新啟動伺服器,但若在停用重做日誌時發生非預期的伺服器停止,可能會導致資料遺失和實例損毀。
ALTER INSTANCE [ENABLE|DISABLE] INNODB REDO_LOG
操作需要獨佔備份鎖定,這會阻止其他ALTER INSTANCE
操作同時執行。其他ALTER INSTANCE
操作必須等待鎖定釋放後才能執行。如需更多資訊,請參閱停用重做日誌。
ALTER INSTANCE ROTATE INNODB MASTER KEY
此操作會輪換用於
InnoDB
表空間加密的主加密金鑰。金鑰輪換需要ENCRYPTION_KEY_ADMIN
或SUPER
權限。要執行此操作,必須安裝並設定金鑰環外掛程式。如需相關說明,請參閱第 8.4.4 節「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
使用資訊,請參閱第 17.13 節「InnoDB 靜態資料加密」。ALTER INSTANCE ROTATE BINLOG MASTER KEY
此操作會輪換用於二進位日誌加密的二進位日誌主金鑰。二進位日誌主金鑰的輪換需要
BINLOG_ENCRYPTION_ADMIN
或SUPER
權限。如果binlog_encryption
系統變數設定為OFF
,則無法使用此語句。要執行此操作,必須安裝並設定金鑰環外掛程式。如需相關說明,請參閱第 8.4.4 節「MySQL 金鑰環」。ALTER INSTANCE ROTATE BINLOG MASTER KEY
操作不會寫入二進位日誌,也不會在複本上執行。因此,二進位日誌主金鑰輪換可以在包含混合 MySQL 版本的複寫環境中執行。若要在所有適用的來源和複本伺服器上排程定期輪換二進位日誌主金鑰,您可以在每個伺服器上啟用 MySQL 事件排程器,並使用CREATE EVENT
語句發出ALTER INSTANCE ROTATE BINLOG MASTER KEY
語句。如果您因為懷疑目前或任何先前的二進位日誌主金鑰可能已遭洩漏而輪換二進位日誌主金鑰,請在每個適用的來源和複本伺服器上發出該語句,這可讓您驗證立即合規性。如需其他
ALTER INSTANCE ROTATE BINLOG MASTER KEY
使用資訊,包括在處理程序未正確完成或因非預期的伺服器停止而中斷時應採取的動作,請參閱第 19.3.2 節「加密二進位日誌檔案和中繼日誌檔案」。此操作會從定義內容的系統變數目前值重新設定 TLS 內容。它還會更新反映活動內容值的狀態變數。此操作需要
CONNECTION_ADMIN
權限。如需有關重新設定 TLS 內容的其他資訊,包括哪些系統和狀態變數與內容相關,請參閱加密連線的伺服器端執行時間組態和監控。依預設,此語句會重新載入主要連線介面的 TLS 內容。如果給定
FOR CHANNEL
子句,則此語句會重新載入具名通道的 TLS 內容:主要連線介面的mysql_main
,管理連線介面的mysql_admin
。如需有關不同介面的資訊,請參閱第 7.1.12.1 節「連線介面」。更新的 TLS 內容屬性會公開在效能結構描述tls_channel_status
表格中。請參閱第 29.12.22.9 節「tls_channel_status 表格」。更新主要介面的 TLS 內容也可能會影響管理介面,因為除非為該介面設定一些非預設的 TLS 值,否則它會使用與主要介面相同的 TLS 內容。
注意事項當您重新載入 TLS 內容時,OpenSSL 會重新載入包含 CRL (憑證撤銷清單) 的檔案,作為處理程序的一部分。如果 CRL 檔案很大,伺服器會配置大量記憶體 (檔案大小的十倍),此記憶體在載入新執行個體且舊執行個體尚未釋放時會加倍。在釋放大型配置後,處理程序常駐記憶體不會立即減少,因此,如果您使用大型 CRL 檔案重複發出
ALTER INSTANCE RELOAD TLS
語句,則處理程序常駐記憶體的使用量可能會因此而增加。依預設,如果組態值不允許建立新的 TLS 內容,則
RELOAD TLS
操作會回復錯誤且沒有作用。先前的內容值會繼續用於新的連線。如果給定了選用的NO ROLLBACK ON ERROR
子句,且無法建立新的內容,則不會發生回復。相反地,會產生警告,並針對此語句套用的介面上新的連線停用加密。ALTER INSTANCE RELOAD TLS
語句不會寫入二進位日誌 (因此不會複寫)。TLS 組態是本機的,且取決於並非一定存在於所有相關伺服器上的本機檔案。如果安裝了金鑰環元件,此操作會告知元件重新讀取其組態檔,並重新初始化任何金鑰環記憶體內資料。如果您在執行時間修改元件組態,則必須執行此操作,新的組態才會生效。金鑰環重新載入需要
ENCRYPTION_KEY_ADMIN
權限。此操作僅允許重新設定目前安裝的金鑰環元件。它不允許變更安裝哪個元件。例如,如果您變更已安裝的金鑰環元件的組態,則
ALTER INSTANCE RELOAD KEYRING
會使新的組態生效。另一方面,如果您變更伺服器資訊清單檔案中命名的金鑰環元件,則ALTER INSTANCE RELOAD KEYRING
不會生效,且會繼續安裝目前元件。ALTER INSTANCE RELOAD KEYRING
語句不會寫入二進位日誌 (因此不會複寫)。