A,删除指定数据库的所有数据表
#!/bin/bash # 删除mysql中所有表 # 示例: # Usage: ./script user password dbnane # Usage: ./script user password dbnane server-ip # Usage: ./script user password dbnane mysql.nixcraft.in # --------------------------------------------------- MUSER="$1" MPASS="$2" MDB="$3" MHOST="localhost" [ "$4" != "" ] && MHOST="$4" # 设置命令路径 MYSQL=$(which mysql) AWK=$(which awk) GREP=$(which grep) # help ] then echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name} [host-name]" echo "Drops all tables from a MySQL" exit fi # 连接mysql数据库 $MYSQL -u $MUSER -p$MPASS -h $MHOST -e "use $MDB" &>/dev/null ] then echo "Error - 用户名或密码无效,无法连接mysql数据库" exit fi TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' ) # make sure tables exits if [ "$TABLES" == "" ] then echo "Error - 在数据库中 $MDB 未发现相关表" exit fi # let us do it 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
B,清空数据表的内容(保存表结构)
#!/bin/bash # 删除mysql中所有表 # 示例: # Usage: ./script user password dbnane # Usage: ./script user password dbnane server-ip # Usage: ./script user password dbnane mysql.nixcraft.in # --------------------------------------------------- MUSER="$1" MPASS="$2" MDB="$3" MHOST="localhost" [ "$4" != "" ] && MHOST="$4" # 设置命令路径 MYSQL=$(which mysql) AWK=$(which awk) GREP=$(which grep) # help ] then echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name} [host-name]" echo "Drops all tables from a MySQL" exit fi # 连接mysql数据库 $MYSQL -u $MUSER -p$MPASS -h $MHOST -e "use $MDB" &>/dev/null ] then echo "Error - 用户名或密码无效,无法连接mysql数据库" exit fi TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' ) # make sure tables exits if [ "$TABLES" == "" ] then echo "Error - 在数据库中 $MDB 未发现相关表" exit fi # let us do it for t in $TABLES do echo "Truncate $t table from $MDB database..." $MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "TRUNCATE TABLE $t" done