Чтобы использовать файл, который находится где-нибудь внутри ОС, используйте, --defaults-extra-file
например:
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > [desiredoutput].sql
Примечание: .sqlpwd
это просто пример имени файла. Вы можете использовать все, что пожелаете.
Примечание: MySQL автоматически проверит, ~/.my.cnf
какой из них можно использовать вместо--defaults-extra-file
Если вы используете CRON, как я, попробуйте это!
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > "$(date '+%F').sql"
Требуемое разрешение и рекомендуемая собственность
sudo chmod 600 /path/.sqlpwd && sudo chown $USER:nogroup /path/.sqlpwd
.sqlpwd
содержание:
[mysqldump]
user=username
password=password
Другие примеры для передачи .cnf
или.sqlpwd
[mysql]
user=username
password=password
[mysqldiff]
user=username
password=password
[client]
user=username
password=password
Если вы хотите войти в базу данных автоматически, вам потребуется, [mysql]
например, запись.
Теперь вы можете создать псевдоним, который автоматически соединяет вас с БД
alias whateveryouwant="mysql --defaults-extra-file=/path/.sqlpwd [database]"
Вы также можете только ввести пароль внутрь .sqlpwd
и передать имя пользователя через скрипт / cli. Я не уверен, улучшит ли это безопасность или нет, это был бы совсем другой вопрос.
Для полноты картины я скажу, что вы можете сделать следующее, но крайне небезопасно и никогда не должно использоваться в производственной среде:
mysqldump -u [user_name] -p[password] [database] > [desiredoutput].sql
Примечание: между -p и паролем нет пробела.
Например -pPassWord
, правильно, а -p Password
неправильно.