码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL ibdata1空间爆满处理

时间:2015-01-14 14:24:31      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:mysql   ibdata1   

成都MYSQL服务器磁盘空间清理
2.7.1 项目名称
成都项目
2.7.2 问题描述
磁盘空间90%
2.7.3 影响范围
计划停机
2.7.4 问题分析
数据库磁盘空间爆满,查看是日志文件导致
2.7.5 解决方案
一、操作步骤:
1. 关闭MAP服务
2. 备份数据库
mysqldump -uroot –pXXXX --quick --routines --add-drop-database --all-databases --add-drop-table > /bak/mysqldump.sql


3. 关闭备用服务端Heartbeat
1) service heartbeat stop 
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----


4. 关闭主服务端heartbeat
1) service heartbeat stop
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----


5. 备份主服务端mysql数据库文件
为防止清理失败,便于回退,在使用mysqldump导出所有用户数据库外,还请将/drbddata/mysql目录及下面文件同时备份走,待确认清理成功无问题后方可删除


登陆主mysql服务器
ssh  root@10.1.1.81


关闭mysql服务
service mysql stop


进入drbd目录
cd /drbddata/

备份drbddata目录下mysql目录到备份服务器
scp -r mysql root@10.1.1.118: /backup

对比源文件夹和目标文件夹文件数及大小

6. 删除主服务端drbddata/mysql中除mysql目录之外的所有文件和目录
rm -f ibdata1
rm -f ib_logfile*
rm –f global/* (删除相应数据库目录下的文件, 如有多个数据库,须删除其它数据库目录下的文件)

7. 修改主服务端my.cnf配置文件增加innodb_file_per_table选项
vi /etc/my.cnf
在[mysqld]后面增加innodb_file_per_table
innodb_file_per_table=1
8. 修改备服务端my.cnf配置文件增加innodb_file_per_table选项
vi /etc/my.cnf
在[mysqld]后面增加innodb_file_per_table
innodb_file_per_table=1

9. 开启主服务端mysql服务
service mysql start

10. 开启主服务端heartbeat
1) service heartbeat start
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----

11. 开启备用服务端heartbeat
1) service heartbeat start
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----

12. 恢复数据库
使用mysqldump备份的dump文件进行还原恢复
a.source /bak/mysqldump.sql
或者
b.mysql –uroot –p < /bak/mysqldump.sql


13. 检查磁盘使用率是否下降

14. 验证数据是否正确,数据库错误日志是否有报错日志。

15. 开启MAP服务

二、清理失败回退操作:
1. 关闭备用服务端Heartbeat
1) service heartbeat stop 
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----

2. 关闭主服务端heartbeat
1) service heartbeat stop
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----

3. 还原/drbddata/mysql原文件

4. 开启主服务端heartbeat
1) service heartbeat start
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----

5. 开启备用服务端heartbeat
1) service heartbeat start
2) cat /proc/drbd,确保状态如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----

6. 开启MAP服务

MYSQL ibdata1空间爆满处理

标签:mysql   ibdata1   

原文地址:http://blog.csdn.net/jamesyao008/article/details/42707801

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!