我正在尝试使用mysqldump拍摄我的数据库的快照,但root密码有括号并导致我出现问题。据我所知,我可以用[]包围密码,以便它可以工作,但我仍有问题。
格式化这种格式的正确方法是什么?
mysqldump -u root -p[(pwdwithbrackets)] databasename > file.sql
-bash: syntax error near unexpected token `('
答案 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