mysql - 避免第二次询问 mysql root 密码 (bash)

标签 mysql bash shell

在像这样的简单脚本中:

set -x
# Check if db exists, if not we make it, make user, give privileges
if ! mysql -u root -p -e "use $db" 2>/dev/null; then

    c1="CREATE DATABASE $db"
    c2="GRANT ALL PRIVILEGES ON ${db}.* to '$username'@'localhost' IDENTIFIED BY '$password'"
    c3="FLUSH PRIVILEGES"

    mysql -u root -p -e "$c1; $c2; $c3"
else
    echo 'DATABASE ExISTS, ABORTING'; exit $DB_EXISTS
fi

我每次都被问到,bash 看到 mysql 命令,用于我的 root 凭据。 有没有办法避免这种情况,一旦输入 root 密码,所有 额外的 mysql 命令无缝执行?

最佳答案

尝试将密码添加到 ~/.my.cnf

[client]
user = root
password = XXXXXXXX

checkout :

How to execute a MySQL command from a shell script?

关于mysql - 避免第二次询问 mysql root 密码 (bash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26415659/

相关文章:

java - 如何在 Hibernate 实体注释上使用两个外键作为主键

javascript - 如何(在哪里)存储网站中实时操作的信息?

linux - 同步shell脚本执行

python - 将目录文件中的特定列提取到新文件中

具有多个ORDER BY的Mysql分页

php - 为什么MySQL中的Inner Join会返回不相关的信息?

linux - 如何根据操作系统版本从剪贴板复制/粘贴到 tmux?

linux - 在 linux 中使用批处理文件启动多个 firefox 配置文件

bash - gawk 用于使用变量将包含模式的行替换为多行

shell - 使用 ! shell 命令上的运算符