在MySQL密码中使用括号

时间:2013-02-21 16:30:55

标签: mysql bash

我正在尝试使用mysqldump拍摄我的数据库的快照,但root密码有括号并导致我出现问题。据我所知,我可以用[]包围密码,以便它可以工作,但我仍有问题。

格式化这种格式的正确方法是什么?

mysqldump -u root -p[(pwdwithbrackets)] databasename > file.sql
-bash: syntax error near unexpected token `('

3 个答案:

答案 0 :(得分:5)

使用shell转义技术:

-p\(pwdwithbrackets\)

......或:

'-p(pwdwithbrackets)'

(未经测试,此处没有Linux框。)

答案 1 :(得分:2)

只需用引号括起来。

更好的是,不要将参数传递给-p,只需在提示时输入。以任何方式公开密码都是不可取的。

答案 2 :(得分:0)

最好避免在命令行上以明文形式放置密码。

相反,您可以将它们放在用户的MySQL配置文件中:

$ cat > ~/.my.cnf
[client]
user = root
password = [(pwdwithbrackets)]
^D

$ mysqldump databasename > file.sql

我测试并确认密码包括方括号和括号时可以使用。

您还可以将选项放在任何其他文件中,并使用它:

$ mysqldump --defaults-file=myconf.cfg database > file.sql