zoukankan      html  css  js  c++  java
  • 5. 在Datadir目录外创建单独表空间

    5. 在Datadir目录外创建单独表空间

    要在MySQL dadadir之外的位置创建单独表空间,请使用该子句:

    DATA DIRECTORY = '/path'

    在目标目录中,MySQL会创建一个与数据库名称对应的子目录,并在其中创建新表的xx.ibd文件。在MySQL DATADIR目录中,会创建一个xx.isl文件,文件内容包含表的路径名。MySQL将’**.isl’文件视为符号链接。

    示例:

    # cd /data
    # mkdir mysqldata
    # chown mysql:mysql mysqldata/
    
    root@localhost [test] 11:14:46>SHOW VARIABLES LIKE 'innodb_file_per_table';
    +-----------------------+-------+
    | Variable_name         | Value |
    +-----------------------+-------+
    | innodb_file_per_table | ON    |
    +-----------------------+-------+
    1 row in set (0.00 sec)
    
    root@localhost [test] 11:14:48>create table x1(c1 int primary key) data directory = '/data/mysqldata';
    Query OK, 0 rows affected (0.06 sec)
    
    # cd /data/mysqldata
    # ls -l
    total 0
    drwxr-x--- 2 mysql mysql 20 Aug 10 11:15 test
    
    # cd test
    # ls -l
    total 96
    -rw-r----- 1 mysql mysql 98304 Aug 10 11:15 x1.ibd
    
    
    # cd /data/mysql/mysql3306/data/test
    # ls -l
    total 144
    -rw-r----- 1 mysql mysql   8622 Aug  9 17:03 account.frm
    -rw-r----- 1 mysql mysql 114688 Aug 10 09:28 account.ibd
    -rw-r----- 1 mysql mysql     67 Aug  7 10:15 db.opt
    -rw-r----- 1 mysql mysql   8556 Aug 10 11:15 x1.frm
    -rw-r----- 1 mysql mysql     27 Aug 10 11:15 x1.isl
    
    
    # cat x1.isl 
    /data/mysqldata/test/x1.ibd
    

    也可以在创建表时指定innodb_file_per_table关键字,使用此方式创建时innodb_file_per_table参数不必启用

    mysql> CREATE TABLE t2 (c1 INT PRIMARY KEY) TABLESPACE = innodb_file_per_table
           DATA DIRECTORY = '/data/mysqldata';
  • 相关阅读:
    枚举enum
    C# 位运算符
    运算符&和&&以及|和||区别比较
    LINQ TO JSON
    LINQ 随机排序
    .NET Core LinQ
    CSharp笔记>>>多线程
    3D旋转
    CSharp 之CSkin的使用教程
    CSharp笔记>>>多语言,注册,模态对话框返回值
  • 原文地址:https://www.cnblogs.com/wanbin/p/9514655.html
Copyright © 2011-2022 走看看