我的博客已迁移到xdoujiang.com请去那边和我交流 一、基础环境 1、版本 cat /etc/redhat-release CentOS release 6.6 (Final) 2、内核 uname -r 2.6.32-504.el6.x86_64 3、ip(eth0) 10.1.10.23 二、shell脚本函数说明 redirectlog #记录日志用的 checkengine #检查innodb是否支持及查看默认引擎 generatedb #导出需要的DB库 generatetable #导出需要更改引擎表到某个文件 alterengine #将某个文件中的表进行引擎更改 三、cat myisamtoinnodb.sh #!/bin/bash #-------------------------------------------------- #Author:jimmygong #Email:jimmygong@taomee.com #FileName:myisamtoinnodb.sh #Function: #Version:1.0 #Created:2015-08-07 #-------------------------------------------------- currdate=$(date +%Y%m%d) dates=`date "+%s"` sleeptime=2 dbuser="test" dbpass="123456" dbport="3306" dbip=$(ifconfig eth0|awk '/inet addr:/'|awk -F: '{print $2}'|awk -F" " '{print $1}') logdir="/opt/myisamtoinnodb" exclude="mysql information_schema" function mysqlcmd () { comm=$1 mysql -u"$dbuser" -p"$dbpass" -h"$dbip" -P"$dbport" -sNe "$comm" } function redirectlog () { logfile=$logdir/${currdate}_${dbip}_log mkdir -p $logdir exec 1>$logfile exec 2>$logfile } function checkengine () { defaultengine=`mysqlcmd 'show engines'|grep -i default|awk '{print $1,$2}'` echo "$defaultengine" innodb=`mysqlcmd 'show engines'|grep -i innodb|grep -i yes` if [[ ! -z "$innodb" ]] then echo "innodb enabled" fi } function generatedb () { i=0 dblist=`mysqlcmd 'show databases'` for db in $dblist do rv=`echo $exclude|grep -w -i $db` if [[ -n "$rv" ]] then continue; fi dbname[i]=$db let i++ done } function generatetable () { i=0 for db in ${dbname[@]} do alltable=`mysqlcmd "use $db;show tables"|wc -l` for ((j=1;j<=$alltable;j++)) do table=`mysqlcmd "use $db;show tables;"|sed -n $j"p"` for tablename in $table do engine=`mysqlcmd "use $db;show create table $tablename;"|grep -w -i "engine=myisam"` if [[ $? = 0 ]] then echo $db $table >> $logdir/table.$dates fi done done done } function alterengine () { [[ ! -e $logdir/table.$dates ]] && exit 1 while read db table do mysqlcmd "alter table $db.$table engine=innodb;" sleep $sleeptime echo $db $table $(date +%F:%T) done < $logdir/table.$dates } redirectlog checkengine generatedb generatetable alterengine exit 0
更改mysql表引擎(shell)
精选 原创文章标签 shell myisam innodb 文章分类 MySQL 数据库
上一篇:proftpd+ssl安装及使用
下一篇:Dell R410内存故障
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
-
「从ES到CK 04」Clickhouse表引擎选择和表结构设计
介绍日志平台的clickhouse表引擎选择和表结构设计
表结构 clickhouse ck 日志平台 -
更改mysql引擎
更改mysql引擎
更改mysql引擎 -
mysql引擎的更改
在安装好数据库之后,默认的是MyISAM引擎。但是有时候我们是要求InnoDB类型的。至于他们的区别,简单一点就是,一个是锁表,一个所行。
职场 mysql 数据库 休闲 mysql引擎 -
mysql 更改表 mysql更改表字段
mysql DDL是(Data Definition Languages)数据定义语言的缩写定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要包括create、drop、alter等创建数据库create database dbnamemysql> create database test1;mysql> create database test1 DE
mysql 更改表 mysql 修改表字段 mysql 查看所有表 mysql修改多个字段类型 mysql修改数据