Drop all tables from database
$ ./drop_tables.sh <db-user> <db-pass> <db-name> <db-host>
The last parameter <db-host>
is optional and defaults to localhost
#!/bin/bash | |
MUSER="$1" | |
MPASS="$2" | |
MDB="$3" | |
MHOST="${4:-localhost}" | |
# Detect paths | |
MYSQL=$(which mysql) | |
AWK=$(which awk) | |
GREP=$(which grep) | |
if [ $# -lt 3 ] | |
then | |
echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name} {MySQL-Database-Hostname}(Optional)" | |
echo "Drops all tables from a MySQL" | |
exit 1 | |
fi | |
TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' ) | |
for t in $TABLES | |
do | |
echo "Deleting $t table from $MDB database..." | |
$MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "drop table $t" | |
done |