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