TokuDB文件管理¶
重要的
从雷竞技下载官网Percona Server for MySQL 8.0.28-19,不再支持TokuDB存储引擎。我们已经从安装包中删除了存储引擎,并在二进制构建中禁用了存储引擎。
从雷竞技下载官网Percona Server for MySQL 8.0.26-16,二进制构建和包包括但禁用TokuDB存储引擎插件。tokudb_enabled选项和tokudb_backup_enabled选项控制插件的状态,默认设置为FALSE。尝试加载插件的结果是插件无法初始化并打印弃用消息。
我们建议将数据迁移到MyRocks存储引擎。为了使插件能够迁移到另一个存储引擎,在my.cnf文件中将tokudb_enabled和tokudb_backup_enabled选项设置为TRUE,并重新启动服务器实例。然后,您可以加载插件。
中声明TokuDB存储引擎已弃用雷竞技下载官网Percona Server for MySQL 8.0。有关更多信息,请参阅Percona博客文章:雷竞技下载官网注意:TokuDB支持的变化和未来从Percona服务器删除MySQL 8.0雷竞技下载官网。
如前所述,TokuDB文件和文件类型雷竞技下载官网Percona英尺在验证其数据集时是特定的。如果文件丢失或无法访问,或似乎包含一些无意义的数据,它将断言、中止或无法启动。它这样做不是为了惹恼您,而是试图保护您免受对数据的进一步破坏。
本文档提供了常用的文件维护操作示例和安全操作指导。
的tokudb_dir_per_db方案解决了两个缺点重命名数据文件对表/索引重命名,并能够将数据文件分组在一起在表示单个数据库的目录中。该特性默认启用。
的tokudb_dir_cmd变量可以用来编辑TokuDB/PerconaFT目录映射的内容。雷竞技下载官网
将TokuDB数据文件移动到默认MySQL datadir之外的位置¶
TokuDB属性指定的位置tokudb_data_dir变量的所有数据文件。如果没有显式地设置tokudb_data_dir变量,TokuDB将使用服务器datadir为这些文件指定的位置。
的TokuDB控件保护数据文件不受并发进程访问__tokudb_lock_dont_delete_me_data文件,该文件与TokuDB数据文件。
TokuDB数据文件可能会被移动到其他位置,而符号链接会留在原来的位置。如果这些符号链接引用其他物理数据卷上的文件,则tokudb_fs_reserve_percentraybet雷竞技竞猜在线官网Monitor将不会遍历符号链接并监视文件系统中足够空间的实际位置。
安全移动TokuDB数据文件:
干净地关闭服务器。
改变
tokudb_data_dir在你的my.cnf配置文件转移到您希望存储的位置TokuDB数据文件。创建新的目标目录。
移动你的
\ * .tokudb文件和您的__tokudb_lock_dont_delete_me_data从当前位置到新位置。重新启动服务器。
将TokuDB临时文件移动到默认MySQL datadir之外的位置¶
TokuDB将使用tokudb_tmp_dir变量的所有临时文件。如果没有显式地设置tokudb_tmp_dir变量,TokuDB将使用tokudb_data_dir变量指定的位置。如果tokudb_data_dir变量也没有显式设置,TokuDB将使用服务器datadir为这些文件指定的位置。
TokuDB方法保护临时文件不受并发进程访问__tokudb_lock_dont_delete_me_temp文件,该文件与TokuDB临时文件。
如果你找到你的TokuDB物理卷上的临时文件与您的TokuDB当数据文件或恢复日志文件被定位时,tokudb_fs_reserve_percent监控器将不会监视它们的位置,以确保文件系统中有足够的空间。raybet雷竞技竞猜在线官网
为了安全移动你的TokuDB临时文件:
干净地关闭服务器。彻底关闭将确保没有需要重新定位的临时文件。
中的tokudb_tmp_dir变量
my.cnf配置文件转移到您希望存储新配置文件的位置TokuDB临时文件。创建新的目标目录。
移动你的
__tokudb_lock_dont_delete_me_temp文件从当前位置转移到新位置。重新启动服务器。
将TokuDB恢复日志文件移动到默认MySQL datadir之外的位置¶
TokuDB将为其所有恢复日志文件使用tokudb_log_dir变量指定的位置。如果没有显式地设置tokudb_log_dir变量,则TokuDB将使用服务器源/术语表指定的位置。Rst ' datadir '用于这些文件。
的TokuDB恢复日志文件受到保护,不允许并发进程访问__tokudb_lock_dont_delete_me_logs文件,该文件与TokuDB恢复日志文件。
TokuDB恢复日志文件可以移动到另一个位置,并留下符号链接来代替tokudb_log_dir。如果该符号链接指向另一个物理数据卷上的目录,那么tokudb_fs_reserve_percent监控器将不会遍历该符号链接并监视文件系统中是否有足够空间的实际位置。raybet雷竞技竞猜在线官网
为了安全移动你的TokuDB恢复日志:
干净地关闭服务器。
中的tokudb_log_dir更改
my.cnf配置文件到您希望存储TokuDB恢复日志文件的位置。创建新的目标目录。
移动你的
日志.tokulog \ \ * *文件和您的__tokudb_lock_dont_delete_me_logs文件从当前位置转移到新位置。重新启动服务器。
改进的表重命名功能¶
当您重命名TokuDB表,则磁盘上的数据文件将保留其原始名称,仅保留数据库中的映射雷竞技下载官网Percona英尺目录文件被更改为将新的字典名称映射到原来的内部文件名。这使得快速匹配数据库/表/索引名称与磁盘上的实际文件变得困难,需要使用refTOKUDB_FILE_MAP表进行交叉引用。
的tokudb_dir_per_db变量的实现就是为了解决这个问题。
当tokudb_dir_per_db已启用(在默认情况下),这种情况不再存在。控件中的映射雷竞技下载官网Percona英尺目录文件将被更新,磁盘上的文件将被重命名,以反映新的表名。
改进的目录布局功能¶
许多用户在管理大量的单个文件时遇到了问题TokuDB和雷竞技下载官网Percona英尺使用。的tokudb_dir_per_db变量解决了这个问题。
当tokudb_dir_per_db变量已启用(在默认情况下),所有新的表和索引将被放置在相应的数据库目录中tokudb_data_dir或者服务器datadir。
如果将tokudb_data_dir变量设置为服务器datadir以外的其他变量,TokuDB将创建一个与数据库名称匹配的目录,但在删除数据库时,此目录将保留。
现有表文件不会自动重新定位到相应的数据库目录。
你可以很容易地移动一个表数据文件到新的方案和适当的数据库目录,只需几个步骤:
mysql>集全球tokudb_dir_per_db=真正的;mysql>重命名表格<表格>来<tmp_table>;mysql>重命名表格<tmp_table>来<表格>;
请注意
需要两个重命名,因为MySQL不允许将表重命名为表本身。第一个重命名,将表重命名为临时名称,并将表文件移动到所属的数据库目录。第二个重命名将表名设置回原来的名称。表还可以在数据库之间重命名/移动,并将正确地放置到相应的数据库目录中。
警告
您必须小心重命名表,以防您使用任何技巧在不同存储卷上创建数据库目录的符号链接,移动不是在同一卷上简单的目录移动,而是跨卷的物理复制。这可能会花费相当长的时间,并阻止在复制期间移动对表的访问。
系统变量¶
tokudb_dir_cmd¶
| 选项 | 描述 |
|---|---|
| 命令行 | 是的 |
| 配置文件 | 是的 |
| 范围 | 全球 |
| 动态 | 是的 |
| 数据类型 | 字符串 |
此变量用于发送要编辑的命令TokuDB目录文件。
警告
只有当你知道你在做什么时才使用这个变量将导致数据丢失。
状态变量¶
tokudb_dir_cmd_last_error¶
| 选项 | 描述 |
|---|---|
| 范围 | 全球 |
| 数据类型 | 数字 |
该变量包含使用tokudb_dir_cmd变量最后执行的命令的错误号。
tokudb_dir_cmd_last_error_string¶
| 选项 | 描述 |
|---|---|
| 范围 | 全球 |
| 数据类型 | 数字 |
该变量包含使用tokudb_dir_cmd变量最后执行的命令的错误字符串。