首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Innodb;多个数据目录

问Innodb;多个数据目录
EN

Stack Overflow用户
提问于 2010-12-23 01:00:18
回答 3查看 11.9K关注 0票数 3

我需要在不同的分区上存储两个Innodb数据库文件。(一个数据库在raid0上以提高速度,另一个数据库在raid1上以提高稳定性)

根据我所读到的内容,实现这一点的惟一方法是使用innodb_file_per_table并将.ibd和.frm文件符号链接到已配置的mysql存储目录(在我的系统上为/var/lib/mysql),ibdata1文件必须位于该目录(用于表元数据)。

这是完成拆分的唯一方法吗?

是否存在与myisam的表/索引目录类似的innodb?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-26 00:55:23

我今天刚刚写了一篇关于这个的博文:http://www.mysqlperformanceblog.com/2010/12/25/spreading-ibd-files-across-multiple-disks-the-optimization-that-isnt/

你不想做符号链接的事情--而且InnoDB不支持数据目录/索引目录。

对于InnoDB,您实际上需要整个数据系统的稳定性。比方说-

C.

  • Non-critical

  • 如果您将D、E、F重新定位到/mnt/

  • ,并且丢失了此卷,InnoDB实际上也将不再允许您访问表A、B、C。

  • 除非可以访问您的所有数据,否则InnoDB将拒绝启动。

如果您有两个截然不同的数据需求,则需要安装两个MySQL ;)

票数 3
EN

Stack Overflow用户

发布于 2014-10-24 04:18:39

如果有人发现这一点,请更新本文,InnoDB现在从5.6版本开始支持数据目录。无符号链接(不推荐),适用于*nix和Windows。

要求:

  1. MySQL 5.6和above
  2. innodb_file_per_table is enabled

innodb_file_per_table = 1

场景1(创建新表):

只需在创建表的过程中指定数据目录选项即可。

  1. CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';

场景2(将现有表移到单独的磁盘):

这涉及到更多的步骤(需要重新启动MySQL服务器),但仍然非常简单。并且它不要求表在创建表的过程中指定数据目录选项。

  1. Stop MySQL MySQL
  2. 通过简单的文件复制/文件移动将innodb表table_name.ibd文件移动到不同的磁盘/卷上。
  3. 创建一个具有.isl扩展名的文本文件,例如table_name.isl
  4. Edit .isl文件,然后键入您移动的table_name.ibd文件的新路径。/alternative/directory/table_name.ibd
  5. Make确保旧路径中的原始服务器文件是removed
  6. Start MySQL .ibd

现在,对移动的表所做的后续更改将保存到新路径下的.ibd文件中。

请参考MySQL官方文档:http://dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html

票数 9
EN

Stack Overflow用户

发布于 2017-03-14 21:27:29

场景2将1个表移动到新的数据目录

平台- Windows服务器、MySQL 5.6

数据库-测试

表-员工

源数据目录- D:\Program Files\MySQL\MySQL Server 5.6\ Data \test\

目标数据目录-E:\data\New_data\test\

步骤

确保全局变量innodb_file_per_table =1

停止MySQL服务器

通过简单文件移动到E:\data\New_data\test\,将employee.ibd文件移到独立的磁盘/文件夹中

注意-将测试保留在原始数据目录D:\Program Files\MySQL\MySQL Server5.6\ employee.frm \

在源数据目录- D:\Program Files\MySQL\MySQL Server5.6\ data \ .isl \-创建一个文本文件,扩展名为employee.isl。编辑.isl文件,然后输入您移动的employee.ibd文件的新路径。

在文件服务器文件\MySQL\MySQL -D:\Program 5.6\data\test\employee.isl E:\data\New_data\test\employee.ibd中

授予对文件夹E:\data的写入权限

启动MySQL服务器

使用测试;

select *自员工

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4511578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档