在 mysqldump 命令中转义密码

Jak*_*e N 1 mysql passwords mysqldump

我正在使用这个;

mysqldump -u userabc -pabc123 dbname | 
  gzip > /var/backups/archives/mysql/dbname_$(date +\%d-\%m-\%Y_\%T).sql.gz
Run Code Online (Sandbox Code Playgroud)

这有效,但如果密码包含^例如它失败,我如何转义这个字符并仍然可以mysqldump使用-p标志;

mysqldump -u userabc -pabc^123 dbname | 
  gzip > /var/backups/archives/mysql/dbname_$(date +\%d-\%m-\%Y_\%T).sql.gz
Run Code Online (Sandbox Code Playgroud)

Dre*_*rew 5

引用密码

mysqldump -u fred7 -p'asdf^555^666'
Run Code Online (Sandbox Code Playgroud)

如果以下任何一项* ? [ < > & ; ! | $ ( ) 也许^也是

  • 注意一个例外,当使用 `'` 单引号时,如果单引号出现在密码中,bash shell 需要非常奇怪的转义 - 嵌入的 `'` 必须替换为 4 个连续字符 `' \ ' '` 而不是如您所料,使用简单的“\”进行转义。 (3认同)