实现MySQL定时批量检查表repair和优化表optimize table的shell脚本_linux shell

本文介绍mysql定时批量检查表repair和优化表optimize table的shell脚本,对于MySQL数据库的定期维护相当有用!如下所示:

#!/bin/bash
host_name=192.168.0.123
user_name=jincon.com
user_pwd=jincon.com
database=my_db_name
need_optmize_table=true
tables=$(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse "show tables")
for table_name in $tables
do
 check_result=$(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse
 "check table $table_name" | awk '{ print $4 }')
 if [ "$check_result" = "OK" ]
 then
  echo "It's no need to repair table $table_name"
 else
  echo $(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse
 "repair table $table_name")
 fi
 # 优化表,可提高性能
 if [ $need_optmize_table = true ]
 then
  echo $(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse
 "optimize table $table_name")
 fi
done

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, shell脚本
, 定时
, 优化表
检查表
shell定时执行脚本、shell 定时任务、shell 定时器、shell脚本定时任务、shell 定时,以便于您获取更多的相关知识。

时间: 2024-09-13 07:58:37

实现MySQL定时批量检查表repair和优化表optimize table的shell脚本_linux shell的相关文章

使用iconv批量改变文件编码的shell脚本_linux shell

这篇文章主要介绍了编写shell脚本,使用iconv批量改变文件编码的脚本代码,需要的朋友可以参考下. 用法示例: cd ~/workspace/XXXProject ~/iconv_shell.sh ./ *java 好了,直接上代码~~ #!/bin/bash if [ "$#" != "2" ]; then echo "Usage: `basename $0` dir filter" exit fi dir=$1 filter=$2 ech

linux下mysql如何自动备份shell脚本_linux shell

Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令. #!/bin/bash # Shell script to backup MySql database # To backup Nysql databases file to /backup dir and later pick up by your # script. You can s

把mysql查询结果保存到文件的shell脚本_linux shell

该脚本是先删除已经存在的文件,然后后台执行SQL语句将其执行结果以一定的格式写入文件 复制代码 代码如下: #!/bin/bashif [ -f "/var/lib/mysql/hell.txt" ]; thenrm -f /var/lib/mysql/hell.txtecho "delete /var/lib/mysql/hell.txt" >> hell.txtfimysql -uroot -plab <<EOFuse home;sele

MySQL实现批量检查表并进行repair与optimize的方法_Mysql

本文实例讲述了MySQL实现批量检查表并进行repair与optimize的方法.分享给大家供大家参考,具体如下: 以下是shell的参考代码: #!/bin/bash host_name=192.168.0.123 user_name=xiaomo user_pwd=my_pwd database=my_db_name need_optmize_table=true tables=$(mysql -h$host_name -u$user_name -p$user_pwd $database -

使用shell检查并修复mysql数据库表的脚本_linux shell

复制代码 代码如下: #!/bin/sh#code by scpman#功能:检查并修复mysql数据库表#将此脚本加到定时中,脚本执行时,等会读库,列出要修复的所有表,然后计时,开始修复#修复过程中将损坏的表记录下来,修复完成后,将损坏的表,发邮件通知.fix_logs='/tmp/fix.log'user=''pass=''check_fix(){dblist=`/usr/bin/find /usr/dlm_db/mysql/ -type d | grep -vE "logs|_[1-9]|

[MySQL5.6] MySQL 5.6.17新特性:online optimize table (以及其他主要bugfix)

在刚刚放出来的MySQL5.6.17版本中,最引人注意的功能当属于能够在线的进行opimitze table操作,这可以帮助减小表的大小而无需阻塞并发负载,另外以下几类操作也开始支持online ddl: OPTIMIZE TABLE ALTER TABLE ... FORCE ALTER TABLE ... ENGINE=INNODB (when run on an InnoDB table) 上述操作将触发表的rebuild,代码的改动量非常小 修改见 [Rev:5820] 这几个选项从sq

linux批量备份服务器配置文件和目录的脚本_linux shell

功能:1. 只在备份机执行,远程的服务器只需要允许备份机用root通过密钥登录:2. 在备份机上配置需要备份哪些服务器,在NEED_BACKUP_SERVERS这个数组增减:3. 在备份机上配置需要备份服务器上哪些文件,在NEED_BACKUP_DETAIL这个数组增减,如果需要备份某台服务器上NEED_BACKUP_DETAIL数组里定义的某个文件就备份,不存在的文件则自动跳过,例如Web服务器上没my.cnf , 也没有影响:4. 如果服务器上产生的新备份和已经存在已往备份内容一样则只保留时

批量修改ssh配置的expect脚本_linux shell

第一思路,用iptables把外网ssh的包DROP掉:第二思路,用tcpwrapper把sshd的allow写死:第三思路,修改sshd_config,只监听内网请求. 由于一些说不清楚的原因,iptables的办法没法用:而tcpwrapper占用CPU资源较多:所以最后决定用第三种办法. 公司服务器比较多,而且根据随机登录查看的结果,sshd_config内容居然还太不一样--手工干了一天,改了两组服务器后,终于下定决心要整个全自动脚本出来干活-- 目前的办法是这样的: cat ssh.e

mysql下优化表和修复表命令使用说明(REPAIR TABLE和OPTIMIZE TABLE)_Mysql

复制代码 代码如下: REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化表 REPAIR TABLE 用于修复被破坏的表. OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并没有立即被回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行进行重排(注意:是磁盘上,而非数据库). 多数时间并不需要运行OPTIMIZE TABLE,只需在批量删除数据行之