2013-02-21 830 views
2

我想使用mysqldump拍摄我的数据库的快照,但是root密码中有括号,并且正在引起我的问​​题。据我所知,我可以用[]包围密码以使其工作,但我仍然有问题。在MySQL密码中使用括号

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

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

回答

2

只是用引号包住它。

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

4

用途外壳逃生技巧:

-p\(pwdwithbrackets\) 

...或:

'-p(pwdwithbrackets)' 

(未经测试,没有得到Linux机器在这里。)

0

这是最好避免将密码无论如何,你的命令行都是纯文本的。

相反,你可以把它们放在用户的MySQL的配置文件:

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

$ mysqldump databasename > file.sql 

我测试,确认此工程时,密码包括方括号,括号内。

你也可以把这些选项中的任何其他文件,因此使用它:

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