mysql - 我如何在带有前缀的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';
如果有人对此有解决方案,请回复。
解决方案
尝试对变量使用双引号而不是单引号。
推荐阅读
- javascript - 猫鼬模型中的字段是必需的:是的,但它是在邮递员中创建的
- matplotlib - Seaborn countplot - 在条形顶部添加计数时遇到问题
- python - 如果我想输入的学生人数未知,如何在 python 中的类中输入数据
- reactjs - 丢失导入时抛出错误(JSX/Webpack)
- git - Egit 从原点获取与从上游获取
- php - PHPSpreadsheet 突然变得非常慢 - 构建少于 5000 行的电子表格
- sql-server - 从 Jupiter Notebook 中的 SQL Server 2014 读取数据
- python - 超过 10 行的具有独特颜色的 Python 绘图
- swift - 安全区域在自定义 TabBarController 的 ViewController 中不起作用
- c++ - 如何范围检查 C++14 用户定义的文字?