MySQL实现批量检查表并进行repair与optimize的方法
本文实例讲述了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 -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
也可以使用mysqlcheck命令,此方法可以在检查表并自动修复损坏的表,不过该过程比较耗时。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。
相关推荐
-
关于MySQL 优化的100个的建议
MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是100条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些思路是通用的.我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧. MySQL 服务器硬件和操作系统调节: 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中--在内存中访问文件时的速度要比在硬盘中访问时快的多. 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读
-
实现MySQL定时批量检查表repair和优化表optimize table的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 $
-
mysql下优化表和修复表命令使用说明(REPAIR TABLE和OPTIMIZE TABLE)
查询mysql表是否被损坏命令,如下: # CHECK TABLE 表名 mysql的长期使用,肯定会出现一些问题,一般情况下mysql表无法访问,就可以修复表了,优化时减少磁盘占用空间.方便备份. 表修复和优化命令,如下: #REPAIR TABLE `table_name` 修复表 #OPTIMIZE TABLE `table_name` 优化表 REPAIR TABLE 用于修复被破坏的表. OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并
-
MySQL数据库修复方法(MyISAM/InnoDB)
在网上找了篇MySQL的技术文章,感觉不错,把它翻译过来共享下. 原文作者:Mike Peters 我整理了7条修复MySQL数据库的方法,当简单的重启对数据库不起作用,或者有表崩溃时. 简单的MySQL重启: /usr/local/mysql/bin/mysqladmin -uUSERNAME -pPASSWORD shutdown /usr/local/mysql/bin/mysqld_safe & 1.MyISAM表崩溃 MySQL数据库允许不同的表使用不同的存
-
教您修复mysql数据库的方法
会mysql的朋友都知道mysql在长时间使用过后数据库会出现一些问题,这就需要快速修复损坏mysql数据库以方便我们的工作和学习.下面小编为大家下面介绍两种快速检修 MySQL 数据库的方法. 本人常用这样的代码,直接放到mysql数据库目录里面 复制代码 代码如下: cmd /k myisamchk -r jb51_tablename jb51_tablename是jb51_tablename.MYD的名称.运行以下就可以了. 有的时候因为掉电或者其他原因导致数据库损坏,我们可以使用mysq
-
mysql性能优化之索引优化
作为免费又高效的数据库,mysql基本是首选.良好的安全连接,自带查询解析.sql语句优化,使用读写锁(细化到行).事物隔离和多版本并发控制提高并发,完备的事务日志记录,强大的存储引擎提供高效查询(表记录可达百万级),如果是InnoDB,还可在崩溃后进行完整的恢复,优点非常多.即使有这么多优点,仍依赖人去做点优化,看书后写个总结巩固下,有错请指正. 完整的mysql优化需要很深的功底,大公司甚至有专门写mysql内核的,sql优化攻城狮,mysql服务器的优化,各种参数常量设定,查询语句优化,主
-
MySQL数据库表修复 MyISAM
一:MySQL中MyISAM表损坏原因总结: 1. 服务器突然断电导致数据文件损坏;强制关机,没有先关闭mysql 服务;mysqld 进程在写表时被杀掉. 2. 磁盘损坏. 3. 服务器死机. 4. mysql 本身的bug . 二:MySQL中MyISAM表损坏的症状总结: 1 .查询数据时报出错误:Incorrect key file for table: '...'. Try to repair it 2 .查询不能在表中找到行或返回不完全的数据. 3 .Error: Table '..
-
MySQL查询优化的5个实用技巧
本文总结分析了MySQL查询优化的技巧.分享给大家供大家参考,具体如下: 熟悉SQL语句的人都清楚,如果要对一个任务进行操作的话,SQL语句可以有很多种相关写法,但是不同的写法查询的性能可能会有天壤之别. 本文列举出五个MySQL查询优化的方法,当然,优化的方法还有很多. 1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他们认为最简单的方案,以加快编码速度,或者选择最明显的选择,因此,你可能面临的都不是最佳的选择,
-
探讨Mysql中OPTIMIZE TABLE的作用详解
当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删 除操作后在数据文件中留下碎片所致.Discuz! 在系统数设置界面提供了数据表优化的功能,可以去除删除操作后留下的数据文件碎片,减小文件尺寸,加快未来的读写操作.您只要在做完批量删除,或定期(如 每一两个月)进行一次数据表优化操作即可. OPTIMIZE TABLE通过制作原来的表的一个临时副本来工作 OPTIMIZE TABLE语法OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE
-
Mysql数据库之索引优化
MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能出色,但所谓"好马配好鞍",如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如"精通MySQL"."SQL语句优化"."了解数据库原理"等要求.我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,
-
Mysql性能优化案例 - 覆盖索引分享
场景 产品中有一张图片表,数据量将近100万条,有一条相关的查询语句,由于执行频次较高,想针对此语句进行优化 表结构很简单,主要字段: 复制代码 代码如下: user_id 用户ID picname 图片名称 smallimg 小图名称 一个用户会有多条图片记录 现在有一个根据user_id建立的索引:uid 查询语句也很简单:取得某用户的图片集合 复制代码 代码如下: select picname, smallimg from pics where user_id = xxx; 优化前 执行查
随机推荐
- AngularJS中实现显示或隐藏动画效果的方式总结
- shell脚本一键安装php7的实例(推荐)
- 利用正则表达式提取固定字符之间的字符串
- jboss配置方法简明教程
- js实现颜色阶梯渐变效果(Gradient算法)
- js 多种变量定义(对象直接量,数组直接量和函数直接量)
- JS实现的点击表头排序功能示例
- python测试驱动开发实例
- C++对数组的引用实例分析
- 代码分析Android实现侧滑菜单
- PHP魔术方法以及关于独立实例与相连实例的全面讲解
- asp.net 每天定点执行任务
- linux下使用Apache+php实现留言板功能的网站
- php类自动加载器实现方法
- Android开发之软键盘用法实例分析
- HttpHelper类的调用方法详解
- Oracle 12.2监听无法启动解决方法
- Python处理菜单消息操作示例【基于win32ui模块】
- 12个Python程序员面试必备问题与答案(小结)
- 对numpy下的轴交换transpose和swapaxes的示例解读