Skip to content

Instantly share code, notes, and snippets.

@cstrap
Created July 21, 2011 17:39
Show Gist options
  • Save cstrap/1097722 to your computer and use it in GitHub Desktop.
Save cstrap/1097722 to your computer and use it in GitHub Desktop.
MySQL convert tables from MyISAM to InnoDB
#!/bin/bash
MUSER="$1"
MPASS="$2"
MDB="$3"
HOST="$4"
# Detect paths
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)
if [ $# -ne 4 ]
then
echo "With great power comes great responsibility"
echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name} {MySQL-Database-Host}"
echo "Convert all tables from MyISAM to InnoDB"
exit 1
fi
TABLES=$($MYSQL -u $MUSER -p$MPASS $MDB -h $HOST -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )
for t in $TABLES
do
echo "Alter $t table from $MDB database to InnoDB..."
$MYSQL -u $MUSER -p$MPASS -h $HOST $MDB -e "ALTER TABLE $t ENGINE=InnoDB"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment