我想使用mysqldump拍摄我的数据库的快照,但是root密码中有括号,并且正在引起我的问题。据我所知,我可以用[]包围密码以使其工作,但我仍然有问题。在MySQL密码中使用括号
什么是格式化的正确方法?
mysqldump -u root -p[(pwdwithbrackets)] databasename > file.sql
-bash: syntax error near unexpected token `('
我想使用mysqldump拍摄我的数据库的快照,但是root密码中有括号,并且正在引起我的问题。据我所知,我可以用[]包围密码以使其工作,但我仍然有问题。在MySQL密码中使用括号
什么是格式化的正确方法?
mysqldump -u root -p[(pwdwithbrackets)] databasename > file.sql
-bash: syntax error near unexpected token `('
只是用引号包住它。
更好的是,不要将参数传递给-p
,只需在提示时键入它即可。以任何方式公开密码是不可取的。
用途外壳逃生技巧:
-p\(pwdwithbrackets\)
...或:
'-p(pwdwithbrackets)'
(未经测试,没有得到Linux机器在这里。)
这是最好避免将密码无论如何,你的命令行都是纯文本的。
相反,你可以把它们放在用户的MySQL的配置文件:
$ cat > ~/.my.cnf
[client]
user = root
password = [(pwdwithbrackets)]
^D
$ mysqldump databasename > file.sql
我测试,确认此工程时,密码包括方括号,括号内。
你也可以把这些选项中的任何其他文件,因此使用它:
$ mysqldump --defaults-file=myconf.cfg database > file.sql