MySQL innodb共享表空間新增表空間資料檔案方法
當innodb使用共享管理表空間(innodb_file_per_table=off),只有一個資料檔案ibdata1而且表空間快滿了。在這種情況下,需要新增額外的表空間來擴充套件容量。方法如下:
1. 停止mysql服務
2. 備份配置檔案
3. 編輯my.cnf裡innodb_data_file_path的值
根據innodb_data_file_path更改ibdata1:$size;ibdataN:$size;…ibdataN:$size; 當前定義的表空間或預設表空間是不能改變的,否則啟動失敗,但是可以新增額外的表空間,ibdataN序列根據當前的數量遞增,
$size自定義。
4. 啟動mysql服務
舉例如下:
MySQL [test]> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
1 row in set (0.00 sec)
檢視innodb資料檔案路徑:
MySQL [test]> show variables like 'innodb_data%';
+-----------------------+------------------------+
| Variable_name | Value |
+-----------------------+------------------------+
| innodb_data_file_path | ibdata1:12M:autoextend |
| innodb_data_home_dir | |
+-----------------------+------------------------+
2 rows in set (0.00 sec)
資料檔案路徑:
MySQL [test]> show variables like 'datadir';
+---------------+--------------+
| Variable_name | Value |
+---------------+--------------+
| datadir | /data/mysql/ |
+---------------+--------------+
1 row in set (0.00 sec)
停止mysql服務:
[root@chenfeng mysql]# service mysql stop
Shutting down MySQL. SUCCESS!
修改/usr/local/mysql/my.cnf,更改innodb_file_per_table為共享管理表空間並新增兩個資料檔案ibdata2和ibdata3,設定成自動擴充套件:
innodb_file_per_table=off
innodb_data_file_path = ibdata1:12M;ibdata2:100M;ibdata3:300M:autoextend
啟動mysql資料庫:
[root@chenfeng mysql]# service mysql start
Starting MySQL... SUCCESS!
檢視資料目錄,發現新增資料檔案成功:
-bash-4.2$ cd /data/mysql
-bash-4.2$ ll ibdata*
-rw-rw----. 1 mysql mysql 12582912 8月 25 16:02 ibdata1
-rw-rw----. 1 mysql mysql 104857600 8月 25 16:02 ibdata2
-rw-rw----. 1 mysql mysql 314572800 8月 25 16:02 ibdata3
MySQL [test]> show variables like 'innodb_data%';
+-----------------------+--------------------------------------------------+
| Variable_name | Value |
+-----------------------+--------------------------------------------------+
| innodb_data_file_path | ibdata1:12M;ibdata2:100M;ibdata3:300M:autoextend |
| innodb_data_home_dir | |
+-----------------------+--------------------------------------------------+
2 rows in set (0.00 sec)
1. 停止mysql服務
2. 備份配置檔案
3. 編輯my.cnf裡innodb_data_file_path的值
根據innodb_data_file_path更改ibdata1:$size;ibdataN:$size;…ibdataN:$size; 當前定義的表空間或預設表空間是不能改變的,否則啟動失敗,但是可以新增額外的表空間,ibdataN序列根據當前的數量遞增,
$size自定義。
4. 啟動mysql服務
舉例如下:
MySQL [test]> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
1 row in set (0.00 sec)
檢視innodb資料檔案路徑:
MySQL [test]> show variables like 'innodb_data%';
+-----------------------+------------------------+
| Variable_name | Value |
+-----------------------+------------------------+
| innodb_data_file_path | ibdata1:12M:autoextend |
| innodb_data_home_dir | |
+-----------------------+------------------------+
2 rows in set (0.00 sec)
資料檔案路徑:
MySQL [test]> show variables like 'datadir';
+---------------+--------------+
| Variable_name | Value |
+---------------+--------------+
| datadir | /data/mysql/ |
+---------------+--------------+
1 row in set (0.00 sec)
停止mysql服務:
[root@chenfeng mysql]# service mysql stop
Shutting down MySQL. SUCCESS!
修改/usr/local/mysql/my.cnf,更改innodb_file_per_table為共享管理表空間並新增兩個資料檔案ibdata2和ibdata3,設定成自動擴充套件:
innodb_file_per_table=off
innodb_data_file_path = ibdata1:12M;ibdata2:100M;ibdata3:300M:autoextend
啟動mysql資料庫:
[root@chenfeng mysql]# service mysql start
Starting MySQL... SUCCESS!
檢視資料目錄,發現新增資料檔案成功:
-bash-4.2$ cd /data/mysql
-bash-4.2$ ll ibdata*
-rw-rw----. 1 mysql mysql 12582912 8月 25 16:02 ibdata1
-rw-rw----. 1 mysql mysql 104857600 8月 25 16:02 ibdata2
-rw-rw----. 1 mysql mysql 314572800 8月 25 16:02 ibdata3
MySQL [test]> show variables like 'innodb_data%';
+-----------------------+--------------------------------------------------+
| Variable_name | Value |
+-----------------------+--------------------------------------------------+
| innodb_data_file_path | ibdata1:12M;ibdata2:100M;ibdata3:300M:autoextend |
| innodb_data_home_dir | |
+-----------------------+--------------------------------------------------+
2 rows in set (0.00 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2124036/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL InnoDB 共享表空間和獨立表空間MySql
- MySQL InnoDB 共享表空間和獨立表空間MySql
- MySQL InnoDB系統表空間資料檔案配置MySql
- MySQL innodb表使用表空間物理檔案複製表MySql
- InnoDB資料表空間檔案平滑遷移
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- 表空間新增資料檔案的疑惑
- MySQL InnoDB表空間加密MySql加密
- 錯誤新增表空間的資料檔案
- MySQL InnoDB Undo表空間配置MySql
- MySQL innoDB獨立表空間和共享表空間的優點和缺點介紹MySql
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- mysql收縮共享表空間MySql
- MySQL InnoDB臨時表空間配置MySql
- Oracle 表空間與資料檔案Oracle
- 表空間和資料檔案管理
- oracle 資料檔案表空間管理Oracle
- MySQL 中的共享表空間與獨立表空間如何選擇MySql
- 刪除表空間和表空間包含的檔案
- MySQL 增加InnoDB系統表空間大小MySql
- MySQL InnoDB File-Per-Table表空間MySql
- mysql之 共享表空間與獨立表空間、frm,MYD,MYI.idb,par檔案說明MySql
- 大檔案表空間
- MySQL 系統表空間檔案解析MySql
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 表空間和資料檔案的管理
- oracle 表空間 資料檔案 筆記Oracle筆記
- 資料檔案,表空間的移動
- 表空間資料檔案故障處理
- 線上遷移表空間資料檔案
- Oracle 表空間資料檔案遷移Oracle
- Mysql表空間MySql
- 表空間&資料檔案和控制檔案(zt)
- mysql 無備份恢復drop資料-共享表空間MySql
- Configure innodb 表空間
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- Oracle 表空間增加檔案Oracle