发布于 2017-08-27 06:34:34 | 165 次阅读 | 评论: 0 | 来源: 网友投递
InnoDB MySQL数据库存储引擎
InnoDB 是 MySQL 上第一个提供外键约束的数据存储引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。InnoDB 的设计目标是处理大容量数据时最大化性能,它的 CPU 利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。
环境说明:
有一个在运行中的mysql环境,由于之前的配置文件设置的过于简单(没有配置innodb_data_file_path变更);造成现在系统表空间已经满了
如果innodb_data_file_path之前没有设置那么它会采用默认值:innodb_data_file_path=ibdata1:12M;问题就是出在了这里它没有设置
autoextend
解决思路:
1、关闭已经在运行中的mysql
mysqladmin -h127.0.0.1 -uroot -pxxxx shutdown
2、为mysql增加第二个系统表空间文件,设置它的大小并且加上autoextend属性
[mysqld]
innodb_data_file_path = ibdata1:12M;ibdata2:12M:autoextend
3、重启mysql
service mysqld start
写到这里也顺便说一下如果是想要缩小系统表空间也是可以的,总的来说就是要从做一个了;
大致步骤如下
1、用mysqldump备份你的数据库
2、关闭你的mysql数据库并删除datadir下的的有文件
3、编辑配置文件到你想要的配置并重新初始一个新的mysql数据库
4、从第一步的dump文件中还原数据库
以上这篇innodb系统表空间维护方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHPERZ。