Я пытаюсь использовать mysqldump для создания моментального снимка моей базы данных, однако пароль root имеет скобки и вызывает у меня проблемы. Насколько я знал, я мог бы окружить пароль [], чтобы он работал, но у меня все еще есть проблема.
Какой правильный способ отформатировать это?
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