您好我正在尝试创建一个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错误。
任何帮助将不胜感激。
由于
答案 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