Mysql 如何创建一个值为+;1是否存在具有匹配名称的数据库?

Mysql 如何创建一个值为+;1是否存在具有匹配名称的数据库?,mysql,bash,ssh,cpanel,Mysql,Bash,Ssh,Cpanel,我正在编写一个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"\\_"$SQLB

我正在编写一个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的数据库,如果存在,则自动向上移动到数字。ex cpanel_db2.

可以这样做:

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
~ ~