除了这个问题之外: 在 bash 脚本中执行 root mysql 操作
我想问如何限制/允许这个操作(执行根管理操作):
mysql --local-path=mypath -e "CREATE..."
仅在一个 bash 脚本中使用。在这种情况下,使用以下方法可能更好:
mysql -u root -p'mypass'
我已经设置了具有 root 权限的单独用户(他们需要创建/删除任何数据库),但是这样,这个可以从任何命令行访问的用户无需密码就可以搞乱任何事情(如果用户看到硬编码密码也是一样的)。
也许允许特定的 mysql 用户仅访问特定的 mysql 过程/函数来创建/删除数据库和用户会更好?
答案1
在安全位置创建 .my.cnf,并填充以下内容:
[client]
password = "somepassword"
然后在你的 cron 作业中像这样调用 mysql:
mysql --defaults-extra-file=/localtion/to/.my.cnf -e“创建……”