首页 > 解决方案 > 我如何在带有前缀的bash脚本中创建mysql用户和数据库

问题描述

无论如何对具有相同用户名的前缀下划线做同样的事情。

例如 :-

#!/bin/bash
db_user=devdb
db_pass=`openssl rand -hex 16`
mysql -u root <<-EOF
CREATE USER '$db_user'@'localhost' IDENTIFIED BY '$db_pass';
GRANT ALL PRIVILEGES ON  `$db_user\_%` . * TO  '$db_user'@'localhost';
FLUSH PRIVILEGES;
EOF

在上面的脚本 GRANT ALL PRIVILEGES 给出错误,我想要解决方案。

如果我在 mysql root 中使用没有变量目录的以下命令,则没有错误。

GRANT ALL PRIVILEGES ON  `devdb\_%` . * TO  'devdb'@'localhost';

如果有人对此有解决方案,请回复。

标签: mysqlbashquotes

解决方案


尝试对变量使用双引号而不是单引号。

参考:Bash 中单引号和双引号的区别


推荐阅读