使用一致的快照启动事务¶
雷竞技下载官网用于MySQL的Percona服务器已经移植MariaDB增强为使用一致的快照启动事务特性MySQL5.6组提交实现。这种增强使二进制日志位置与InnoDB交易快照。
此特性对于获得具有正确位置的逻辑备份非常有用,而无需运行用读锁刷新表.二进制日志位置可以通过两个新实现的状态变量获得:Binlog_snapshot_file而且Binlog_snapshot_position.方法启动事务后使用一致的快照启动事务,这两个变量将为您提供与所拍摄的一致快照的数据库状态相对应的binlog位置,而不考虑自快照拍摄以来已提交的其他事务。
快照复制¶
的雷竞技下载官网用于MySQL的Percona服务器实现扩展了使用一致的快照启动事务可选的语法从会话条款:
开始事务与一致的快照从会话<session_id>;
指定后,所有参与的存储引擎和二进制日志不会创建新的数据快照(或二进制日志坐标),而是创建指定会话中活动事务创建的快照的副本。session_id会话标识符是否在Id列的显示PROCESSLIST.
快照克隆目前只支持XtraDB还有二进制对数。和常规的一样使用一致的快照启动事务,快照克隆只能使用可重复读取隔离级别。
为XtraDB,具有克隆快照的事务将只看到由捐赠事务可见或更改的数据。也就是说,克隆的事务不会看到在捐赠事务之后开始的事务提交的任何更改,甚至它自己也不会看到任何更改。注意,在链式克隆的情况下,捐赠事务是链中的第一个事务。例如,如果事务A被克隆到事务B中,事务B又被克隆到事务C中,后者将拥有来自事务A(即捐赠事务)的读视图。因此,它将看到事务A所做的更改,而不是事务B所做的更改。
, mysqldump¶
, mysqldump已更新为当服务器支持新状态变量并且在命令行上指定了-single-transaction和-master-data时自动使用这些状态变量。伴随着, mysqldump介绍的改进备份锁现在有一种生成的方法, mysqldump在不使用的情况下保证保持一致的备份用读锁刷新表即使——主数据请求。
系统变量¶
have_snapshot_cloning¶
| 选项 | 描述 |
|---|---|
| 命令行: | 是的 |
| 配置文件 | 没有 |
| 范围: | 全球 |
| 动态: | 没有 |
| 数据类型 | 布尔 |
此服务器变量的实现是为了帮助其他实用程序检测服务器是否支持从会话扩展。可用时,快照克隆特性和语法扩展使用一致的快照启动事务是服务器所支持的,且变量值总是是的.
状态变量¶
Binlog_snapshot_file¶
| 选项 | 描述 |
|---|---|
| 范围: | 全球 |
| 数据类型 | 字符串 |
Binlog_snapshot_position¶
| 选项 | 描述 |
|---|---|
| 范围: | 全球 |
| 数据类型 | 数字 |
这些状态变量仅在全局启用二进制日志时可用。