2016-02-25 134 views
2

嗨我想創建一個bash腳本,它採用用戶名和數據庫名稱和密碼作爲參數並創建一個數據庫。創建一個bash腳本來自動創建數據庫和用戶

mysql -u xxx -pxxxxxx << EOF 
CREATE DATABASE '$2'; 
CREATE USER '$2'@'localhost' IDENTIFIED BY '$3'; 
GRANT ALL PRIVILEGES ON '$2'.* TO '$2'@'localhost'; 
EOF 

我在執行此命令時出現mysql 1064錯誤。

任何幫助將不勝感激。

感謝

回答

2
mysql -u $user -p$pass << EOF 
CREATE DATABASE $2; 
GRANT ALL PRIVILEGES ON $2.* TO [email protected]'localhost' IDENTIFIED BY '$3'; 
EOF 
+0

非常感謝它的魅力。 –

1

答案在這裏並沒有爲我工作(有一些語法錯誤,包括相同的1064錯誤的OP)。發佈此以防萬一它可以幫助別人:

#!/bin/bash 

echo "mysql root password:" 
read rootpass 

if [[ $rootpass ]]; then 
    # create db 
    # create user 
    mysql -uroot -p$rootpass <<EOF 
CREATE DATABASE \`${1}\`; 
CREATE USER [email protected] IDENTIFIED BY '$1'; 
GRANT ALL PRIVILEGES ON \`${1}\`.* TO \`${1}\`@'localhost'; 
EOF 

fi 

似乎像一些聲明所需的引號,一些逃脫,一些沒有! :D