2012-08-12 32 views
0

我正在研究一個bash腳本,需要一些幫助,這是我現在擁有的。如果具有匹配名稱的數據庫存在,如何創建值爲+1的MySQL數據庫?

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。

+1

'秀databases'? – jordanm 2012-08-12 17:12:45

回答

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 

〜 〜

相關問題