26.4.4.14 ps_setup_save()过程

保存当前的性能架构配置。这使您可以临时更改配置以用于调试或其他目的,然后通过调用ps_setup_reload_saved()过程将其恢复到以前的状态。

为了防止其他同时调用来保存配置,ps_setup_save()通过调用GET_LOCK()函数来获取名为sys.ps_setup_save的咨询锁。 ps_setup_save()使用超时参数来指示如果锁已经存在,则要 await 多少秒(这 table 明其他会话的保存配置尚未完成)。如果超时时间未获得锁定,则ps_setup_save()失败。

由于配置已保存在TEMPORARYtable 中,因此您打算稍后在* same *会话中与ps_setup_reload_saved()调用ps_setup_reload_saved()ps_setup_save()删除临时 table 并释放锁。如果您在不调用ps_setup_save()的情况下结束会话,则 table 和锁将自动消失。

此过程通过操纵sql_log_bin系统变量的会话值来在执行过程中禁用二进制日志记录。那是一个受限的操作,因此该过程需要足以设置受限会话变量的特权。参见第 5.1.8.1 节“系统变量特权”

Parameters
  • in_timeout INT:要 await 几秒钟才能获得sys.ps_setup_save锁定。负超时值 table 示无限超时。
Example
mysql> CALL sys.ps_setup_save(10);

... make Performance Schema configuration changes ...

mysql> CALL sys.ps_setup_reload_saved();