mysql 批量修复

#!/bin/bash
host_name=127.0.0.1
user_name=
user_pwd=
database=
need_optmize_table=false
tables=$(/usr/local/webserver/mysql/bin/mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse "show tables")
for table_name in $tables
do
 check_result=$(/usr/local/webserver/mysql/bin/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 $(/usr/local/webserver/mysql/bin/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 $(/usr/local/webserver/mysql/bin/mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse "optimize table $table_name")
 fi
done
(0)

相关推荐

  • 如何配置全世界最小的 MySQL 服务器

    配置全世界最小的 MySQL 服务器--如何在一块 Intel Edison 为控制板上安装一个 MySQL 服务器. 介绍 在我最近的一篇博文中,物联网,消息以及 MySQL,我展示了如果Particle Photon 的板子开始构建你自己的物联网.那个实现很棒,不过因为 Particle Photon 板子没有任何本地的存储,所以需要稳定的互联网(wi-fi)接入.如果你没有一个可靠的网络访问 (例如在一些边远的地方) 或者需要某些很小的东西来存储数据,现在就可以使用Intel Edison

  • NoSQL 数据库你应该了解的 10 件事

    四分之一个世纪以来,关系型数据库(RDBMS)一直是主流数据库模型.但是现在非关系型数据库,"云"或者"NoSQL"数据库,正在作为一种替代数据库模型获得越来越多的占有率.本文中我们将关注非关系型 NoSQL 数据库的 10 个关键特征:排在前 5 位的优点和前 5 位的挑战.提示:点击链接可以下载本文 英文版PDF NoSQL 的五大有点 1:弹性扩展 多年来,数据库负载需要增加时,数据管理员只能依赖于纵向扩展(scale-up)--买更多更强的服务器,而不是依赖

  • Ubuntu 14.04下安装和配置redis数据库

    1.以root权限登录 2.接下来输入命令,apt-getinstall redis-server,如图: 3.安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序,执行ps-aux|grep redis,如图: 4.通过启动命令检查Redis服务器状态,执行:netstat-nlt|grep 6379,如图: 5.安装Redis服务器,会自动地一起安装Redis命令行客户端程序.在本机输入redis-cli命令就可以启动,客户端程序访问Redis服务器.执行:redis-cli

  • Ubuntu 14.04下安装MySQL

    1.更新源列表打开"终端窗口",输入"sudo apt-getupdate"-->回车-->"输入root用户的密码"-->回车,就可以了.如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载,您可以运行apt-getupdate------"的错误提示,导致无法安装. 2.安装mysql 打开"终端窗口",输入"sudo apt-get install mysql

  • linux 下配置安装mysql以及配置【经验】

    在linux系统下学习MySQL,第一道坎就是如何在linux下安装和配置mysql.这种一劳永逸的事,我们就有耐心的做好. 系统版本:ubuntu14.04 mysql版本:mysql-server-5.5 mysql-client-5.5 先检查是否已经安装了mysql,(Ctrl+Alt+T)终端输入命令: sudo netstat -tap|grep mysql 若无反应,或没有显示安装成功的信息,则表示没有安装. 下面来开始我们的安装工作. 解决第一难: 1,安装命令: sudo ap

  • mysql 批量修复

    #!/bin/bash host_name=127.0.0.1 user_name= user_pwd= database= need_optmize_table=false tables=$(/usr/local/webserver/mysql/bin/mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse "show tables") for table_name in $tables do check_resul

  • MySQL批量去掉某个字段中的空格

    Mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数. (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例:清除news表中content字段中的空格 update `news` set `content`=replace(`con

  • MySql批量插入优化Sql执行效率实例详解

    MySql批量插入优化Sql执行效率实例详解 itemcontractprice数量1万左右,每条itemcontractprice 插入5条日志. updateInsertSql.AppendFormat("UPDATE itemcontractprice AS p INNER JOIN foreigncurrency AS f ON p.ForeignCurrencyId = f.ContractPriceId SET p.RemainPrice = f.RemainPrice * {0},

  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 复制代码 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 复制代码 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意 'o

  • mysql批量执行sql文件的方法

    1.待执行的sql文件为1.sql.2.sql.3.sql.4.sql等 2.写一个batch.sql文件: source 1.sql; source 2.sql; source 3.sql; source 4.sql; 3.在mysql下执行source /batch文件所在目录/batch.sql; 以上就是小编为大家带来的mysql批量执行sql文件的方法全部内容了,希望大家多多支持我们~

  • MySQL批量插入数据脚本

    MySQL批量插入数据脚本 #!/bin/bash i=1; MAX_INSERT_ROW_COUNT=$1; while [ $i -le $MAX_INSERT_ROW_COUNT ] do mysql -uroot -proot dbname -e "insert into tablename (name,age,createTime) values ('HELLO$i',$i % 99,NOW());" d=$(date +%M-%d\ %H\:%m\:%S) echo &qu

  • mysql批量删除大量数据

    mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1 会发现删除失败,因为lock wait timeout exceed的错误. 因为这条语句所涉及的记录数太多,因此我们通过LIMIT参数分批删除,比如每10000条进行一次删除,那么我们可以利用 MySQL这样的语句来完成: DELETE FROM s

  • Python向MySQL批量插数据的实例讲解

    背景:最近测试web项目需要多条测试数据,sql中嫌要写多条,就看了看python如何向MySQL批量插数据(pymysql库) 1.向MySQL批量插数据 import pymysql #import datetime #day = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#参数值插入时间 db = pymysql.connect(host='服务器IP', user='账号', passwd='密码', port=端口号) c

  • MySQL批量插入和唯一索引问题的解决方法

    MySQL批量插入问题 在开发项目时,因为有一些旧系统的基础数据需要提前导入,所以我在导入时做了批量导入操作 ,但是因为MySQL中的一次可接受的SQL语句大小受限制所以我每次批量虽然只有500条,但依然无法插入,这个时候代码报错如下: nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (5677854 > 1048576). You can change this va

  • Python操控mysql批量插入数据的实现方法

    在Python中,通过pymysql模块,编写简短的脚本,即方便快捷地控制MySQL数据库 一.连接数据库 使用的函数:pymysql.connect 语法:db=pymysql.connect(host='localhost',user='root',port=3306,password='Your password',db='database_name') 参数说明:host:MySQL服务器地址                           user:用户名             

随机推荐