如果我在我的盒子上使用 root 密码登录,我可以简单地输入
mysqldump --all-databases ,我会得到预期的“转储”。
我在 cron.daily 中设置了一个作业来运行并将其转储到备份驱动器。我遇到的问题是,虽然用户以 root 身份运行,但我收到以下消息
mysqldump:得到错误:1045:用户'root'@'localhost'的访问被拒绝(使用密码:否)
尝试连接时。我不想在脚本中硬编码 mysql 数据库 root 密码(谁会)。
考虑到我可以在我的 bash shell 的命令行中输入“mysqldump”,必须有办法使用 -u 参数。我已经在脚本的顶部有 #!/bin/bash。
我在这里错过了什么才能让它不要求数据库的 root 密码?
我写了一个简单的 shell 脚本来转储特定的 mysql 数据库。问题是它提示我输入密码,即使我提供了。如果重要的话,mysql 数据库是 5.0.27 版。这是我正在使用的特定线路。
$MYSQLDUMP -u backup -p$MyPass $DB > $DEST/$FILE
Run Code Online (Sandbox Code Playgroud)
我尝试了几种变体,但都无济于事。