1

Столкнулся с задачей, есть сервер с mysql и там есть около 30 баз данных с разных сайтов.
mysql будет останавливаться, а базы нужно бы сохранить.
Но вот как сделать дамп всех баз, да так что бы каждая база была отдельно ?
Базы данных имеют свои названия, и хотелось бы их сохранить.

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

2 (14.04.2014 11:05:36 отредактировано XliN)

Rassol2, Держи. Написал для тебя маленький скриптик

 Консоль:
#!/bin/bash

BASE_DIR="/home/xlin/"
mysqlshow -u root -p PASSWORD > base.txt

cat base.txt | grep -v "+" | tr '|' ' '  | while read line
do
        echo -e "${line}"
        if ! [[ $line == "Databases" || $line == "information_schema" || $line == "performance_schema" ]]; then
                mysqldump -u root -p PASSWORD -f $line > ${BASE_DIR}/${line}.sql
        else
                echo "NOT"
        fi
done

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

3

спасибо теперь разобраться бы в нем.

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

4

как я понял мне нужно прописать только пароль в этой строке

mysqldump -u root -p PASSWORD -f $line > ${BASE_DIR}/${line}.sql

Ну и создать директорию /home/xlin/

И все скрипт можно запускать.

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

5 (13.04.2014 19:24:27 отредактировано XliN)

Эту строяку

mysqlshow -u root > base.txt

заменить на

mysqlshow -u root -pPASSWORD > base.txt  - только PASSWORD на свой замени

И ту которую ты сказал тоже поправить.

Папку указать любую. Создай например /home/user/base_bak и пропиши ее в скрипте.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

6

еше рас спасибо все отработало на ура.
Записали себе в черновичок.

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"

7

Спасибо за скриптик, пригодится в копилку.

8

Rassol2 пишет:

как я понял мне нужно прописать только пароль в этой строке

mysqldump -u root -p PASSWORD

ага. И твой пароль будет виден ВСЕМ на этом сервере(у кого есть шелл).

пароль можно безопасно сохранить в файле ~/.my.cnf того юзера, кто бекапит. И поставить на этот файл права 0600.

подробнее в man mysqldump и в http://dev.mysql.com/doc/refman/5.1/en/ … -user.html

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

9

drBatty пишет:

пароль можно безопасно сохранить в файле ~/.my.cnf того юзера, кто бекапит. И поставить на этот файл права 0600

Спасибо. Понадобится инфа.

MX Linux 21.2 x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

10

Rassol2 пишет:

mysql будет останавливаться, а базы нужно бы сохранить.

А в чем проблема архивировать файлы баз данных на остановленном mysql? Здесь простор ограничен только фантазией.

11 (14.04.2014 13:35:24 отредактировано drBatty)

Cruiser78 пишет:

А в чем проблема архивировать файлы баз данных на остановленном mysql?

это весь сервер надо останавливать/запускать. Да и вообще через задницу. А если другая версия mysql?

Короче: так никто не делает, и я это уже долго и упорно пытался объяснить. Но видно никто не желает делать так, как надо. У нас, у русских, так всегда было принято -- сделать абы как, лишь-бы работало. Авось не сломается…

PS: ТСу хотелось не всё, а по базам, коих у него 30 штук. См. первый пост.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

12

drBatty пишет:
Cruiser78 пишет:

А в чем проблема архивировать файлы баз данных на остановленном mysql?

это весь сервер надо останавливать/запускать. Да и вообще через задницу. А если другая версия mysql?

Короче: так никто не делает, и я это уже долго и упорно пытался объяснить. Но видно никто не желает делать так, как надо. У нас, у русских, так всегда было принято -- сделать абы как, лишь-бы работало. Авось не сломается…

PS: ТСу хотелось не всё, а по базам, коих у него 30 штук. См. первый пост.

Почти в яблочко. Сервер будет полностью отключен. И мне по сути не имеет значения что дальше с ресурсами которые не на нем крутились. Но если есть лишние гигабайты почему бы не слить все и не положить в укромное место.
В данном случаи скрипт выполняет свои задачи.

Никогда не бойся делать то, что ты не умеешь. Помни, "КОВЧЕГ" был построен ЛЮБИТЕЛЕМ. ПРОФЕССИОНАЛЫ построили "ТИТАНИК"