【问题标题】:How to create a MySQL Database with a value of +1 if a DB with a matching name exists?如果存在具有匹配名称的数据库,如何创建值为 +1 的 MySQL 数据库?
【发布时间】:2012-08-14 00:14:43
【问题描述】:

我正在编写一个 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。

【问题讨论】:

    标签: mysql bash ssh cpanel


    【解决方案1】:

    可以这样做:

    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
    

    ~ ~

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 2017-03-13
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      相关资源
      最近更新 更多