Drop multiple databases with names matching a pattern

后端 未结 10 2105
南旧
南旧 2021-02-02 10:39

I want to drop all the databases starting with a word.

abc
xyz
cms_db1
cms_db2
cms_xyz
pqr

In the example given above, I will like to drop all

10条回答
  •  走了就别回头了
    2021-02-02 10:46

    I had to improve neurinos script because of special chars in my password, missing 'drop DATABASE ...' and not working comparision for DB_STARTS_WITH expression. The following script did work on Ubuntu Server:

    #!/bin/bash
    
    DB_STARTS_WITH="grp"
    MUSER="root"
    MPWD="YOUR_PASSWORD"
    MYSQL="mysql"
    
    DBS="$($MYSQL -u $MUSER -p"$MPWD" -Bse 'show databases')"
    for db in $DBS; do
    
    if [[ "$db" == $DB_STARTS_WITH* ]]; then
        echo "Deleting $db"
        $MYSQL -u $MUSER -p"$MPWD" -Bse "drop database $db"
    fi
    
    done
    

提交回复
热议问题