Столкнулся с задачей, есть сервер с mysql и там есть около 30 баз данных с разных сайтов.
mysql будет останавливаться, а базы нужно бы сохранить.
Но вот как сделать дамп всех баз, да так что бы каждая база была отдельно ?
Базы данных имеют свои названия, и хотелось бы их сохранить.
как сделать дамп баз данных
Rassol2, Держи. Написал для тебя маленький скриптик
[console]#!/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
[/console]
спасибо теперь разобраться бы в нем.
как я понял мне нужно прописать только пароль в этой строке
mysqldump -u root -p PASSWORD -f $line > ${BASE_DIR}/${line}.sqlНу и создать директорию /home/xlin/
И все скрипт можно запускать.
Эту строяку
mysqlshow -u root > base.txtзаменить на
mysqlshow -u root -pPASSWORD > base.txt - только PASSWORD на свой замениИ ту которую ты сказал тоже поправить.
Папку указать любую. Создай например /home/user/base_bak и пропиши ее в скрипте.
еше рас спасибо все отработало на ура.
Записали себе в черновичок.
Спасибо за скриптик, пригодится в копилку.
ага. И твой пароль будет виден ВСЕМ на этом сервере(у кого есть шелл).как я понял мне нужно прописать только пароль в этой строке
mysqldump -u root -p PASSWORD
пароль можно безопасно сохранить в файле ~/.my.cnf того юзера, кто бекапит. И поставить на этот файл права 0600.
подробнее в man mysqldump и в http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html
пароль можно безопасно сохранить в файле ~/.my.cnf того юзера, кто бекапит. И поставить на этот файл права 0600
Спасибо. Понадобится инфа.
mysql будет останавливаться, а базы нужно бы сохранить.
А в чем проблема архивировать файлы баз данных на остановленном mysql? Здесь простор ограничен только фантазией.
это весь сервер надо останавливать/запускать. Да и вообще через задницу. А если другая версия mysql?А в чем проблема архивировать файлы баз данных на остановленном mysql?
Короче: так никто не делает, и я это уже долго и упорно пытался объяснить. Но видно никто не желает делать так, как надо. У нас, у русских, так всегда было принято -- сделать абы как, лишь-бы работало. Авось не сломается…
PS: ТСу хотелось не всё, а по базам, коих у него 30 штук. См. первый пост.
это весь сервер надо останавливать/запускать. Да и вообще через задницу. А если другая версия mysql?[quote="Cruiser78"]А в чем проблема архивировать файлы баз данных на остановленном mysql?
Короче: так никто не делает, и я это уже долго и упорно пытался объяснить. Но видно никто не желает делать так, как надо. У нас, у русских, так всегда было принято -- сделать абы как, лишь-бы работало. Авось не сломается…
PS: ТСу хотелось не всё, а по базам, коих у него 30 штук. См. первый пост.[/quote]
Почти в яблочко. Сервер будет полностью отключен. И мне по сути не имеет значения что дальше с ресурсами которые не на нем крутились. Но если есть лишние гигабайты почему бы не слить все и не положить в укромное место.
В данном случаи скрипт выполняет свои задачи.