暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
空间不足之Lvm方案与mysql自带方案比较
543
15页
4次
2020-03-25
5墨值下载
美河学习在线 www.eimhe.com 收集分享
1
MYSQL 扩展空间部分 Innodb 共享表空间与独立表空间的选
1.针对共享表空间最有以下特点
1.不受文件系统限制 神马意思呢? 就说当我的文件增大到一定程度的时候可以将 ibdata 文件后续分拆到
其他的磁盘分区
2.会将所有的索引和数据存放在一个文件 或者说 ibdata*文件中 会导致单个文件很 当然也可以做成
个小的 ibdata 文件
3.多个表及索引在表空间中混合存储,这样对于一个表做了大量删除操作后表空间中将会有大量的空隙,
特别是对于统计分析,日值系统这类应用最不适合用共享表空间
4.最后我们知道共享表空间管理会出现表空间分配后不能回缩的问题,当出现临时建索引或是创建一个临
时表的操作表空间扩大后,就是删除相关的表也没办法回缩那部分空间了。我们存在磁盘监控时,也许就
报警不断了,但实际上 MySQL 还可以运行良好。另外,当磁盘上占用较多时性能也不是太好。这种情况
处理只能是是建一个新的 Slave 从主库上 Dump 出来,然后在 Dump 到从库中,动作较大。对于 InnoDB Hot
Backup 备份的操作(或是直接冷备)每次需要 CP 的文件比较大。如果现在有 180G 的表空间但实际数据
只有 50 G那么我们将面对每次需要拷 180G 的数据。这种方式也许 mysqldump 是一个好的处理方式了。
针对独立表空间存在以下特点
在配置文件(my.cnf)中设置: innodb_file_per_table
优点:
1. 每个表都有自已独立的表空间。
2. 每个表的数据和索引都会存在自已的表空间中。
3. 可以实现单表在不同的数据库中移动。
4. 空间可以回收( drop table 操作处,表空不能自已回收)
a) Drop table 操作自动回收表空间,如果对于统计分析或是日值表,删除大量数据后可以通过:alter table
TableName engine=innodb;回缩不用的空间。
b) 对于使 innodb-plugin Innodb 使用 turncate table 也会使空间收缩。
c) 对于使用独立表空间的表,不管怎么删除,表空间的碎片不会太严重的影响性能,而且还有机会处理。
缺点:
单表增加过大,如超过 100 G
对于单表增长过大的问题,如果使用共享表空间可以把文件分开,但有同样有一个问题,如果访问的范围
过大同样会访问多个文件,一样会比较慢。对于独立表空间也有一个解决办法是:使用分区表,也可以把
那个大的表空间移动到别的空间上然后做一个连接。其实从性能上出发,当一个表超过 100 G 有可能响
应也是较慢了,对于独立表空间还容易发现问题早做处理。
备份:
InnoDB Hot Backup(冷备)的表空间 cp 不会面对很多无用的 copy 了。而且利用 innodb hot backup 及表空间
的管理命令可以实现单现移动。
监控:
可以更好从系统上监控数据的大小,每个表的大小。
另外推荐使用独立表空间的原因:
从性能上对比共享表空间和独立表空间:
共享表空间在 Insert 操作上少有优势。其它都没独立表空间表现好。这里也有一个 TIPS 当启用独立表空间
时,请合理调整一下:innodb_open_files
美河学习在线 www.eimhe.com 收集分享
2
Linux 系统处理上出发:
文件系统 fsync 一大片更新数据,对系统 io 冲击较大。若分隔成多个小数据 fsync,能够减少对读的影响。
同时从 mysql 代码,发现 mysql 保证两次 fsync 之间至少有 20ms sleep,这样的话,若将一次 fsync 变成
多次小数据操作,应该能够减少慢查询的比例。所以对于大量更新操作的系统不太适合用共享表空间。
二.对于共享表空间增空间不足的解决实例:
vim /etc/my.cnf
[mysqld]
innodb_data_home_dir =
innodb_data_file_path=/data/mysql/data/ibdata1:23643M;/usr/local/mysql/data1/ibdata2:50M:autoextend:max:150
00M
首先你的 ll /data/mysql/data/ibdata1
看到字节并通过计算得到大小为 23643.1 那么写入文件里面则是 4 5 入如果还有报错请看文件 InnoDB
据文件管理
mkidr /usr/local/mysql/data1
ps -ef |grep mysql 看下--user=mysql
chown mysql.mysql /usr/local/mysql/data1 -R
还是不行的话 chmod 777 /usr/local/mysql/data1 -R
之后加入上面那句话
上面的那句话的意思是:
原先的文件是 ibdata1 文件大小是 23643M 新加入的文件位置是/usr/local/mysql/data1 下文件是 ibdata2 并且
每次以 50M 的大小往上增加最大增加到 15000M 为止
service mysqld restart
如果有什么关于 PID 的报错
请看 MYSQL 的错误日志
1.如果说正对的是独立表空间又该怎么解决呢?引申出 LVM 方式
Lvm 部分
By zuoyuezong@126.com
简介
VM Logical Volume Manager(逻辑卷管理)的简写,LVM 将一个或多个硬盘的分区在逻辑上集合,相当于
一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实
现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
通俗的话来说下功能 就是动态无影响扩展分区大小!!
1 LVM 基本术语
前面谈到,LVM 是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,
提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个 LVM 术语:
of 15
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜