创建一个bash脚本来自动创建数据库和用户

时间:2016-02-25 08:31:25

标签: mysql 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 个答案:

答案 0 :(得分:2)

 mysql -u $user -p$pass  << EOF
CREATE DATABASE $2;
GRANT ALL PRIVILEGES ON $2.* TO $2@'localhost' IDENTIFIED BY '$3';
 EOF

答案 1 :(得分:2)

这里的答案对我不起作用(得到了许多语法错误,包括与OP相同的1064错误)。发布此内容以防其他人:

#!/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 $1@localhost IDENTIFIED BY '$1';
GRANT ALL PRIVILEGES ON \`${1}\`.* TO \`${1}\`@'localhost';
EOF

fi

似乎有些陈述需要引用,有些是逃脱,有些根本没有! :d