• 14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory


    14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory  
    
    创建一个File-Per-Table Tablespace 在Data Directory 外面:
    
    
    创建一个新的 InnoDB file-per-table tablespace 在一个指定的位置在MySQL data 目录之外,
    
    
    使用 DATA DIRECTORY =absolute_path_to_directory 子句
    
    
    提前计划位置, 因为你不能使用DATA DIRECTORY 子句在ALTER table 语句中,
    
    
    你指定的目录可以在另外的存储设备有特定的性能或者容量特性,
    
    比如快速的SSD或者高性能的HDD。
    
    
    指定目标目录, MySQL 创建一个子目录对应到数据名字,
    
    
    在一个.ibd 文件对于一个新表。
    
    
    在数据库目录 在MySQL DATADIR directory 下,MySQL 创建一个table_name.isl 文件包含了
    
    表的路径名。
    
    
    .isl 文件是被mysql 对待为一个符号连接。(使用实际的软连接不被InnoDB表支持)。
    
    
    
    下面的例子演示创建一个file-per-table tablespace 在MySQL data directory外面。
    
    
    它显示了.idb创建在指定的目录, .isl 是创建在MySQL data directory下面。
    
    
    mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/data01/scan';
    Query OK, 0 rows affected (0.04 sec)
    
    
    [root@wx03 scan]# pwd
    /data01/scan/scan
    [root@wx03 scan]# ls
    t1.ibd
    
    [root@wx03 scan]# pwd
    /data01/mysql/scan
    [root@wx03 scan]# find . -name *.isl
    ./t1.isl
    
    
    Usage Notes:  使用注意:
    
    
    1.MySQL 初始持有.ibd文件打开,防止你卸载设备,
    
    
    但是可能最终关闭表如果server是繁忙的,小心不要故意卸载一个内部的设备当MySQL 运行时,
    
    
    或者启动MySQL 当设备被断开。 尝试访问表当相关的.ibd文件丢失导致一个严重的错误需要服务器重启。
    
    
    
    一个服务器可能失败如果.ibd 文件没有在预期的路径。 在这种情况下,
    
    手动删除table_name.isl文件在数据库目录, 在重启后执行DROP TABLE 来删除.frm文件.
    
    
    删除表的信息从data directory.
    
    
    2. 不要把MySQL 表放到NFS 文件系统,NFS 使用一个消息传递协议来写文件,
    
    
    会导致数据不一致如果网络消息丢失或者收到的顺序不一致。
    
    
    3. 如果你使用一个LVM 快照,文件拷贝,或者其他基于文件机制来备份.ibd文件,
    
    
    总是使用 FLUSH TABLES ... FOR EXPORT 语句首先确保所有这些改变在内存里被刷新到disk 在backup错误
    
    。

  • 相关阅读:
    [luogu 5163] WD与地图
    AtCoder Grand Contest 013&014
    [NOI2018] 冒泡排序
    [省选联考 2020 A 卷] 魔法商店
    [省选集训2022] 模拟赛11
    [学习笔记] 随机化贪心
    [省选集训2022] 模拟赛12
    JVM内存结构、Java对象模型和Java内存模型
    代码优化:当复制大量数据时,使用System.arraycopy()命令
    多线程之线程优先级
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350632.html
Copyright © 2020-2023  润新知