0

我正在编写一个 bash 脚本,需要一些帮助,这就是我目前所拥有的。

mysql -e "create database if not exists ${UN}_${SQLBASE}"
mysql -Be "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE ROUTINE ON \`"$UN"\\_"$SQLBASE"\`.* TO '"$UN"_"$SQLUSER"'@'localhost' IDENTIFIED BY '$SQLPASS';FLUSH PRIVILEGES"

差不多,我需要知道如何创建一个名为 cpanel_db1 的数据库,如果存在,则自动向上移动到数字。前 cpanel_db2。

4

1 回答 1

0

可以这样做:

username="usernamedb"
password="passworddb"

database="cpanel_db"
databases=$(mysql -u $username -p$password -Bse 'show databases'|grep $database)

max=1

if [ -z "$databases" ];then
    mysql -u $username -p$password -Bse "create database ${database}$max"
else
    for cdatabase in $databases
    do
        cdatabasenumber=$(echo $cdatabase|awk -F"db" '{print $2}')
        if [ $cdatabasenumber -gt $max ]; then
            max=$cdatabasenumber
        fi
    done
    let max++

    mysql -u $username -p$password -Bse "create database ${database}$max"
fi

~~

于 2012-08-13T16:14:43.803 回答