我需要从 bash 脚本中授予数据库权限。一些参数采用变量形式,例如用户名和密码。 mysql shell 中的命令如下所示:
GRANT ALL ON *.* TO "$user"@localhost IDENTIFIED BY "$password";
...除了 $user
和 $password
将被替换为它们的值。
有没有办法从 bash 脚本中执行这样的命令?
谢谢!
最佳答案
给你:)
#!/bin/bash
MYSQL=`which mysql`
EXPECTED_ARGS=3
Q1="USE $1;"
Q2="GRANT ALL ON *.* TO '$1'@'localhost' IDENTIFIED BY '$2';"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"
if [ $# -ne $EXPECTED_ARGS ]
then
echo "Usage: $0 dbname dbuser dbpass"
exit $E_BADARGS
fi
$MYSQL -uroot -p -e "$SQL"
关于mysql - 如何在 bash 脚本中授予 MySQL 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528967/