LINUX.ORG.RU
ФорумAdmin

Бекап mysql


1

1

Подскажите как лучше бекапить mysql

У самого только идея так:

mysqldump --user=*** --password=*** test > /home/backup

В этом не нравится то что базы могут появится новые забудь добавить строку на бекап ее. Как можно бекапить сразу все базы какие есть. Нашел способ есть параметр --all-databases, но не нравится что он пихает все в один файл. Хотелось бы в разные.

можно запросить список существующих баз и вызвать вашу строку в цикле, в котором менять имя базы и имя файла.

petav ★★★★★
()

--password= НЕЛЬЗЯ использовать. Вдруг кто-то подсмотрит список процессов? Осиль ~/.my.cnf или Store your password in the MYSQL_PWD environment variable(c)

Bers666 ★★★★★
()

Да, напиши скрипт. Как - ну тут уже сам.

blind_oracle ★★★★★
()
#!/bin/sh

#Задаем дату
data=`/bin/date +%d.%m.%Y_%H-%M-%s`

#дамп
/usr/bin/mysqldump --all-databases --user=*** --password=*** > /backup/sqldump/sql-dump.sql

#архивируем
/bin/gzip --best /backup/sqldump/sql-dump.sql

#Переименовываем по дате
/bin/mv /backup/sqldump/sql-dump.sql.gz /backup/sqldump/sql-dump_${data}.sql.gz
afanasiy ★★★★
()
Ответ на: комментарий от Bers666

Сами то хоть пробовали ? В списке процессов видны только звездочки.

hidden_4003
()
Ответ на: комментарий от micro-chipset

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

afanasiy ★★★★
()
Ответ на: комментарий от leave

Не делаю не того не другого. А опасно ли это если бекапить к примеру бд сайта? Это же не бекап бд биллинга вроде там к бд да постоянные обращения идут.

micro-chipset
() автор топика
Последнее исправление: micro-chipset (всего исправлений: 1)
Ответ на: комментарий от af5

Вроде и почти то что хотел. Но надо бы что бы он разложил по каталогам. А в подпись добавить дату это не сложно.

micro-chipset
() автор топика
Ответ на: комментарий от micro-chipset

И возникла мысль не достаточно ли бекапить каталог /var/lib//mysql/ Там есть подобные файлы.

ls /var/lib/mysql/mytest/
db.opt  users.frm 

micro-chipset
() автор топика
Ответ на: комментарий от micro-chipset

Зависит от того, какой у размер баз и write rate.

leave ★★★★★
()
Ответ на: комментарий от micro-chipset

Достаточно, но только при полностью потушенном мускуле и желательно включенными бинлогами.

leave ★★★★★
()

Делать резервные копии на уровне файловой системы? Тогда будет копировать всё. Можно копировать и файл конфигурации БД, и версию СУБД. Потом я думаю можно будет подняться если чего.

DALDON ★★★★★
()
Ответ на: комментарий от DALDON

Если не хочешь простоя - то я думаю можно slave узел замутить mysql.

DALDON ★★★★★
()
Ответ на: комментарий от micro-chipset

не достаточно ли бекапить каталог /var/lib//mysql

либо в офлайне, либо из LVM-снапшота, либо percona-xtrabackup

af5 ★★★★★
()
Ответ на: комментарий от BaBL

Вот кстати да на одной машине перешел на mariaDB. Есть ли какие то тонкости бекапа с ней. И вобще в обслуживании.

micro-chipset
() автор топика
Последнее исправление: micro-chipset (всего исправлений: 1)

Ну и можно сделать вот таким скриптом:

#!/bin/bash

databases=`echo "show databases;" | mysql --skip-column-names $@`

for database_name in $databases; do
  mysqldump $@  $database_name > /home/backup/$database_name;
done

И вызывать скрипт с параметрами подключения, как у mysql и mysqldump, например:

./script.sh -u root  -h 192.168.99.99

dmitryalexeeff
()
Последнее исправление: dmitryalexeeff (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.