Подтвердить что ты не робот

Пароль mysql испортил мой дамп

ok, поэтому мне нужно сделать mysqldump базы данных, и это то, что у меня есть

mysqldump -uroot [email protected]$pr!nT --databases app_pro > /srv/DUMPFILE.SQL

но я получаю эту ошибку

 -bash: !nT: event not found

похоже, что с паролем трудное время... любым другим способом для mysql dump

4b9b3361

Ответ 1

Поместите [email protected]$pr!nT в одинарные кавычки:

mysqldump -uroot '[email protected]$pr!nT' --databases app_pro > /srv/DUMPFILE.SQL

Проблема заключается в том, что bash интерпретирует !. Строки в одинарных кавычках не интерпретируются.

Ответ 2

Вам нужно избежать "!" в пароле: -

[email protected]$pr\!nT

Ответ 4

Как уже говорили другие, вы никогда не должны указывать пароль в командной строке, так как любой другой процесс на машине способен его прочитать. Простым и эффективным решением для mysql является использование файла .my.cnf в домашнем каталоге пользователя, использующего mysql или mysqldump.

Сначала создайте его безопасным способом:

sudo touch /root/.my.cnf
sudo chown 0:0 /root/.my.cnf
sudo chmod 600 /root/.my.cnf

затем убедитесь, что /root/.my.cnf содержит что-то вроде этого:

[mysql]
user=root
[email protected]$pr!nT

[mysqldump]
user=root
[email protected]$pr!nT

Вы можете и должны сделать это для своей "нормальной" (не root) учетной записи mysql. Тогда вам больше не придется вводить пароль и быть в безопасности. Просто поместите .my.cnf в свой собственный домашний каталог с вашими учетными данными в нем и убедитесь, что только вы можете читать и записывать в файл:

touch ~/.my.cnf
chmod 600 /root/.my.cnf

Ответ 5

Try

mysqldump -u root --password='[email protected]$pr!nT' app_pro > /srv/DUMPFILE.SQL

Ответ 7

когда вы используете! в командной строке это означает, что найдите последнюю команду запуска, которая начинается со следующих букв и поместите ее здесь. перейдите в свою командную строку и запустите "history", а затем запустите некоторые другие команды, cd, ls, что угодно. то go! h будет выполнена последняя команда, которую вы запускали с буквой "h" (в данном случае "история" ).

вам нужно будет избежать этого удара (!)

Ответ 8

Вы можете отключить расширение истории:

set +o histexpand