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
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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.islUsage 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錯誤。
轉載于:https://www.cnblogs.com/zhaoyangjian724/p/6199768.html
總結
以上是生活随笔為你收集整理的14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 之 GIL(线程和进程的应
- 下一篇: 实现当前目录下开启CMD