Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Резервное копирование по рассписанию  (Прочитано 964 раз)

0 Пользователей и 1 Гость просматривают эту тему.

surfer

  • Автор темы
  • Гость
Хочу сделать скрипт, который будет запускаться по расписанию и будет делать резервную копию базы данных с удаленного сервера.
Сделал так:
#!/bin/sh
mysqldump -h192.168.0.22 -uroot -p1 world > /home/user/world_backup.sql
выдает ошибку:
Цитировать

mysqldump: Got error: 1045: Access denied for user 'root'@'192.168.0.11' (using password: YES) when trying to connect

что я упустил? насколько я понял, надо еще ssh подключение настроить
« Последнее редактирование: 12 Июля 2017, 14:26:40 от surfer »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Резервное копирование по рассписанию
« Ответ #1 : 12 Июля 2017, 15:48:59 »
там же вроде всё чётко написано. Нет?

surfer

  • Автор темы
  • Гость
Re: Резервное копирование по рассписанию
« Ответ #2 : 12 Июля 2017, 15:53:49 »
там же вроде всё чётко написано. Нет?
так я подключаюсь к 22 машине, причем тут 11?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28469
    • Просмотр профиля
Re: Резервное копирование по рассписанию
« Ответ #3 : 12 Июля 2017, 17:18:09 »
При том, что вы подключаетесь с .11 машины.
Да ещё под рутом. Либо подключайтесь к локалхосту на самом сервере, либо используйте реального пользователя.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

surfer

  • Автор темы
  • Гость
Re: Резервное копирование по рассписанию
« Ответ #4 : 12 Июля 2017, 17:45:16 »
При том, что вы подключаетесь с .11 машины.
Да ещё под рутом. Либо подключайтесь к локалхосту на самом сервере, либо используйте реального пользователя.
даже если я буду использовать реального пользователя, он все равно говорит:
mysqldump: Got error: 1045: Access denied for user 'user'@'192.168.0.11' (using password: YES) when trying to connect
а как к локалхосту подключиться?
я нашел такое решение:
ssh -f -L3310:localhost:3306 user@192.168.0.22 -N
mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name
но тут надо пароль вводить, а мне надо это в cron засунть

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Резервное копирование по рассписанию
« Ответ #5 : 12 Июля 2017, 19:55:28 »
То есть Вы так и не поняли в чём проблема... Жаль...
Хотя решение, конечно, очень достойное. Уверен, где-то подсмотрели.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28469
    • Просмотр профиля
Re: Резервное копирование по рассписанию
« Ответ #6 : 12 Июля 2017, 23:13:22 »
Решение, прямо скажем, ниже плинтуса.
Если уж делать так, то запускать mysqldump прямо в сессии без проброса портов.

Хотя правильный ответ, прямо скажем, на поверхности. https://dev.mysql.com/doc/refman/5.7/en/adding-users.html
« Последнее редактирование: 12 Июля 2017, 23:17:11 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Резервное копирование по рассписанию
« Ответ #7 : 13 Июля 2017, 06:44:16 »
А вот как раз это решение, хоть и просится само собой, ИМХО, ниже плинтуса. Так как база переносится в открытом виде. Правда внутри локалки.

Оффлайн kalek

  • Активист
  • *
  • Сообщений: 267
    • Просмотр профиля
Re: Резервное копирование по рассписанию
« Ответ #8 : 13 Июля 2017, 09:27:01 »
mysqldump: Got error: 1045: Access denied for user 'user'@'192.168.0.11' (using password: YES) when trying to connect
Почитайте хотя бы немного про пользователей и доступы в mysql и станет понятно почему ругается

но тут надо пароль вводить, а мне надо это в cron засунть
Откройте для себя ssh-авторизацию по ключу.

А после этого уже можно приступать к реализации нужного решения:
- просто подключиться по ssh к .22 адресу, сделать на нем дамп и скопировать его куда надо,
- подключиться напрямую к mysql на .22 адресе и создавать дамп прямо по сети (если не хочется передавать данные в открытом виде, можно прикрутить к mysql ssl-сертификат),
- пробрасывать порт mysql через ssh
или еще каким-то другим способом

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.