Drop all tables without dropping database

vim drop-mysql-dbtables.sh
#!/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 "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name}"
        echo "Drops all tables from a MySQL"
        exit 1
fi

TABLES=$($MYSQL -u $MUSER -p$MPASS -h$HOST $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$HOST $MDB -e "drop table $t"
done

Call

sh drop-mysql-dbtables.sh user password database localhost
#mysql
0
Ivan Borshchov profile picture
Jun 01, 2017
by Ivan Borshchov
Did it help you?
Yes !
No

Best related