教程集 www.jiaochengji.com
教程集 >  脚本编程  >  shell  >  正文 批量检查mysql表的shell脚本

批量检查mysql表的shell脚本

发布时间:2014-09-06   编辑:jiaochengji.com
在不使用mysqlcheck的情况下,移动一台服务器上的数据库到另一台服务器上,想检查哪个表被损坏了,可以使用以下的脚本。<br /> 当然还是mysqlcheck更安全高效,此代码仅作为熟悉

在不使用mysqlcheck的情况下,移动一台服务器上的数据库到另一台服务器上,想检查哪个表被损坏了,可以使用以下的脚本。
当然还是mysqlcheck更安全高效,此代码仅作为熟悉shell脚本使用。
 

复制代码 代码如下:

#!/bin/bash

pass="123456" #root's password
data_path="/home/mysql" #mysql's datadir

cd $data_path
for f1 in $(ls)
do
if [ -d $f1 ];then
if [ "mysql" != "$f1" -a "test" != "$f1" ];then #in
cd $f1
echo "I'm in "$f1
for f2 in $(ls *.frm)
do
_file_name=${f2%.frm}
echo $f1.$_file_name >> /tmp/check_table.log
echo `date` >> /tmp/check_table.log
mysql -h 127.0.0.1 -u root -p$pass -e "check table "$f1.$_file_name 2>&1 >> /tmp/check_table.log #optimize table
done
cd ..
fi
fi
done

您可能感兴趣的文章:
shell脚本向mysql表批量插入数据
批量检查mysql表的shell脚本
批量清除过期的binlog日志释放磁盘空间的shell脚本
核对数据库表记录的shell脚本
批量清除128组节点db上过期的binlog释放磁盘空间的shell脚本
mysqldump使用binlog二进制日志进行备份的例子
python如何检测IP通不通
expect脚本远程批量管理服务器的思路解析
mysql备份与同步脚本
mysql命令之备份数据库

[关闭]
~ ~