本篇文章给大家分享的是有关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)
以上就是MySQL innodb共享表空间新增表空间数据文件方法是怎么样的 ,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。