Я пишу сценарий bash для резервного копирования моих баз данных. Большинство из них являются postgresql, а в postgres есть способ избежать аутентификации, создав файл ~ / .pgpass, который содержит пароль postgres. Я поместил это в домашний каталог root и сделал chmod 0600, чтобы root мог создавать дамп баз данных postgres без аутентификации. Теперь я хочу сделать нечто подобное для mysql, хотя у меня есть только одна база данных mysql. Как я могу это сделать? Я не хочу указывать пароль в командной строке для mysqldump, потому что это часть скрипта, которая может быть несколько видна другим пользователям. Есть ли лучший способ (т.е. встроенный в mysql) сделать это, чем сделать файл, который может прочитать только root, а затем прочитать его, чтобы получить пароль mysql, а затем использовать его в сценарии bash в качестве переменной?
8
Ответы:
Создайте
~/.my.cnf
файл для пользователя, выполняющего mysql. Он должен содержать следующее:источник