环境:RHEL 5.3 + IEE 5.1.40
本文目的:指导项目侧人员再遇到此类改动需求时可以自己更改。
需求:mr_intrainterfreq表重建,历史数据全部删掉。
1.停库
1.1 确认现在IEE的进程状态:
[root@XZWRNOPMRA ~]# ps -ef|grep mysql
root 22063 1 0 10:44 pts/6 00:00:00 /bin/sh /usr/local/infobright-4.0.6-x86_64/bin/mysqld_safe --defaults-file=/etc/my-ib.cnf --log-queries-not-using-indexes --user=mysql --pid-file=/usr2/iee/data/XZWRNOPMRA..pid
mysql 22202 22063 1 10:44 pts/6 00:00:56 /usr/local/infobright-4.0.6-x86_64/bin/mysqld --defaults-file=/etc/my-ib.cnf --basedir=/usr/local/infobright-4.0.6-x86_64 --datadir=/usr2/iee/data --user=mysql --log-queries-not-using-indexes --log-error=/usr2/iee/data/bh.err --pid-file=/usr2/iee/data/XZWRNOPMRA..pid --socket=/tmp/mysql-ib.sock --port=5029
root 24213 24162 0 11:39 pts/8 00:00:00 grep mysql
[root@XZWRNOPMRA ~]#
1.2 停止IEE的服务
关闭采集后,执行下面命令停止IEE的服务
[root@XZWRNOPMRA ~]# /etc/init.d/mysqld-ib stop
成功关闭后,再次查看IEE的进程已确认IEE真正关闭
[root@XZWRNOPMRA ~]# ps -ef|grep mysql
root 24213 24162 0 11:39 pts/8 00:00:00 grep mysql
[root@XZWRNOPMRA ~]#
此时看到,IEE的进程已经没有了,说明成功关闭了IEE,如果进程还在,说明没有成功关闭,则需要检查采集是否都关了,再尝试关闭数据库,万不得已时,可以考虑kill -9杀掉infobright的2个进程。
2.系统删除文件以释放空间
2.1 先通过navicat查看要重建表的建表sql,保存后用
一定要保存好需要重建的表的建表语句。
2.2 切到IEE的数据目录下,删除具体表的目录和文件
[root@XZWRNOPMRA data]# cd /usr2/iee/data/wrnop/
[root@XZWRNOPMRA wrnop]# ls -lh
总计 136K
-rwxr-xr-x 1 mysql mysql 61 2011-05-12 db.opt
drwxrwx--x 2 mysql mysql 12K 04-02 10:45 dt_rawdata.bht
-rw-rw---- 1 mysql mysql 26K 04-02 10:45 dt_rawdata.frm
drwxrwx--x 2 mysql mysql 4.0K 04-02 10:45 mr_internal.bht
-rw-rw---- 1 mysql mysql 9.8K 04-02 10:45 mr_internal.frm
drwxrwx--x 2 mysql mysql 12K 04-02 11:09 mr_interrat.bht
-rw-rw---- 1 mysql mysql 12K 04-02 10:45 mr_interrat.frm
drwxrwx--x 2 mysql mysql 20K 04-02 11:12 mr_intrainterfreq.bht
-rw-rw---- 1 mysql mysql 13K 04-02 10:30 mr_intrainterfreq.frm
drwxrwx--x 2 mysql mysql 4.0K 04-02 11:12 mr_quality.bht
-rw-rw---- 1 mysql mysql 9.5K 04-02 10:45 mr_quality.frm
表mr_intrainterfreq对应的文件就是mr_intrainterfreq.bht 和 mr_intrainterfreq.frm
其中mr_intrainterfreq.bht是一个目录,里面存放了此表的所有数据文件
确定可以不要表mr_intrainterfreq的所有数据,可以执行删除操作,
此操作一定要确认无误再执行,操作不可逆!!
[root@XZWRNOPMRA wrnop]# rm -rf mr_intrainterfreq.bht
[root@XZWRNOPMRA wrnop]# rm -rf mr_intrainterfreq.frm
注:这里也可以mv 这两个文件
比如:
mv mr_intrainterfreq.bht mr_intrainterfreq.bht.bak0522
mv mr_intrainterfreq.frm mr_intrainterfreq.frm.bak0522
等确定不需要了再执行删除
3.启动数据库
3.1 启动数据库
[root@XZWRNOPMRA ~]# /etc/init.d/mysqld-ib start
3.2 建表
用2.1保存的语句直接建表
3.3 测试验证
略.