时间:2021-07-01 10:21:17 帮助过:3人阅读
有几种情况1 在线上环境时,我的表空间之前没有计划,在使用一段时间后,想新增,这时要先得到此时ibdata1的大小,我的方法是 在
新加表空间的配置文件主要是这个参数
测试环境测试
innodb_data_file_path = ibdata1:370M;ibdata2:50M;ibdata3:50M;ibdata4:500M;ibdata5:500M:autoextend
有几种情况
1 在线上环境时,我的表空间之前没有计划,在使用一段时间后,想新增,这时要先得到此时ibdata1的大小,我的方法是 在配置中随便配个大小,如371M, 这时启动mysql ,会报错起不来,查看错误日志,里面会有pages的大小,通过这个pages的大小计算此时的ibdata1大小
ibdata = pages * page_size/1024
page_size=16k(mysql默认的,可以再编译时更改,下一步将测试这个值对性能的影响)
(正常的得到表空间大小的方法没找到;使用du -h 的值偏大,减1,2M,,可以试一下)
2 在使用mysql之前计划好表空间的使用方式和大小,如
innodb_data_file_path = ibdata1:10G;ibdata2:10G;ibdata3:10G;ibdata4:10G;ibdata5:10G:autoextend
这种方式比较理想
表空间的使用
如果采用第2中方式建立表空间的话,在启动初始化后,会建立这5个表空间,只是先把磁盘空间占上而已,如果使用的话,还是按顺序使用的,第一个满了用第二个。