Бекап всех БД одного юзера через SSH

satellitmaker
На сайте с 04.08.2011
Offline
90
921

Доброго времени суток.

Прошу помощи в таком банальном вопросе.

Есть VPS, на ней несколько юзеров. У каждого юзера несколько БД, к примеру по 50, но пользователи БД у каждого юзера одинаковы.

Так вот интересует как сделать бекап всех бд одного пользователя через ssh.

Нагуглил что то приближенное

mysqldump -uMyUserName -pMyPass db_name > db_backup_name.sql

Но тут нужно всеравно ручками прописывать названия бд и имя файла дабы не создавались копии файлов.

Возможно есть и другой подход, более простой, готовы выслушать предложения.

В администрирования не силен, прошу не пинать за незнание.

Заранее благодарю за ответ.

J
На сайте с 10.07.2012
Offline
1
#1

Одной командой можно создать dump большого числа баз:

--databases db_name1 [db_name2 ...]

Или сразу всех:

--all-databases
ICQ: 628574383
M
На сайте с 16.09.2009
Offline
278
#2
satellitmaker:
Возможно есть и другой подход, более простой, готовы выслушать предложения.

Да. ПРОЧИТАТЬ ДОКУМЕНТАЦИЮ ПРОГРАММЫ.

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
N
На сайте с 06.05.2007
Offline
419
#3
satellitmaker:
пользователи БД у каждого юзера одинаковы.

А это как вообще?

Кнопка вызова админа ()
Andreyka
На сайте с 19.02.2005
Offline
822
#4

Я думаю, что он имеет в виду, что у него для группы баз одинаковый логин и пасс.

Не стоит плодить сущности без необходимости
satellitmaker
На сайте с 04.08.2011
Offline
90
#5
Andreyka:
Я думаю, что он имеет в виду, что у него для группы баз одинаковый логин и пасс.

Да. Все верно.

Делаю так


mysqldump -uMyUserName -pMyPass --all-databases

Происходит якобы бекап, но в нужной директории его нет

Попробовал так


mysqldump -uMyUserName -pMyPass --all-databases> db_backup_name.sql

Все БД в одном файле, но цель каждая бд в разном файле, видимо что-то еще нужно указать?

N
На сайте с 06.05.2007
Offline
419
#6
satellitmaker:
Все БД в одном файле, но цель каждая бд в разном файле, видимо что-то еще нужно указать?

для mysqldump ничего не нужно указать. он так не умеет.

нужно написать программу, которая несколько раз запускает mysqldump.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#7

satellitmaker,

Отвечаю вам на ваш вопрос прямо, нету в mysqldump ключей которые упаковывают в разные файлы ВСЕ базы конкретного пользователя.... это вам не панель управления... по этому задача ваша штатным нажатием на 1 кнопку НЕ РЕШАЕТСЯ!

Вам нужен сценарий на любом удобном вам языке, который:

1. Определит какие же базы принадлежат пользователю.

2. Выполнит для каждой из баз данных указанный вами выше mysqldump с нужными параметрами.

Кстати, панель управления какая-то есть? Да и вообще вы например сами знаете какие базы от какого пользователя? потому что например если панель есть, то возможно базы все создаются в виде $user_$databasename , а если у вас просто base1 base2 base3 .... то вам и никакой сценарий не поможет пока вы не определите зависимость пользователей к базам.

Да и о каких пользователях речь вообще идет? О виртуальных в системе или о тех которые у вас в mysql.users ?


mysqldump -uMyUserName -pMyPass --all-databases
Происходит якобы бекап, но в нужной директории его нет

А с чего бы ему там быть, в этом случае вы просто бекап себе на экран вывалили, записывайте в блокнотик :D

С Уважением,

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
satellitmaker
На сайте с 04.08.2011
Offline
90
#8
Romka_Kharkov:
satellitmaker,
Отвечаю вам на ваш вопрос прямо, нету в mysqldump ключей которые упаковывают в разные файлы ВСЕ базы конкретного пользователя.... это вам не панель управления... по этому задача ваша штатным нажатием на 1 кнопку НЕ РЕШАЕТСЯ!

С Уважением,

Благодарю за ответ. Вопрос закрыт. Тему можно закрывать.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий