Бекап mysql базы через шелл

R
На сайте с 26.05.2006
Offline
12
818

Цель сделать бэкап mysql базы в формате mysql 4.0 через шелл.

Вот, что я пишу:

mysqldump -u rivlex -p rivlex_smf2 --compatible=mysql40 > baza_new.sql

Но что-то никакого результата, спрашивает пароль и дальше никаких изменений.

Что же я неправильно делаю?

K
На сайте с 14.08.2006
Offline
56
ksm
#1
Rivlex:
Цель сделать бэкап mysql базы в формате mysql 4.0 через шелл.

Вот, что я пишу:
mysqldump -u rivlex -p rivlex_smf2 --compatible=mysql40 > baza_new.sql

Но что-то никакого результата, спрашивает пароль и дальше никаких изменений.
Что же я неправильно делаю?

Если за пароль уверены то возможно вам не разрешен локальный доступ - нужно посмотреть может ли юзер rivlex коннектится с локального хоста (таблицы mysql.user и возможно mysql.db).

p.s. я надеюсь после -p в вашем примере ненастоящий пароль все-таки

QAвед-sunтехник
K
На сайте с 31.01.2001
Offline
737
#2

Пароль пишите вплотную к -p (или не пишите, его спросят), а юзера - вплотную к -u.

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
[Удален]
#3

Пробел не надо после -p

А, уже сказали - не посмотрел...

R
На сайте с 26.05.2006
Offline
12
#4
Rivlex:
Вот, что я пишу:
mysqldump -u rivlex -p rivlex_smf2 --compatible=mysql40 > baza_new.sql
ksm:
p.s. я надеюсь после -p в вашем примере ненастоящий пароль все-таки

Вот в чем дело. После -p у меня не пароль, а название базы.

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

K
На сайте с 31.01.2001
Offline
737
#5

Как-то так. Пароль спросят, или дописать его сразу за -p.

mysqldump -urivlex rivlex_smf2 -p --compatible=mysql40 > baza_new.sql

Хелпзонович
На сайте с 15.06.2005
Offline
133
#6

Вот, выложу свой вариант. Бэкап делается каждую ночь, архивируется. Бэкапы старше одной недели удаляются.

Делаем файлик mysql_bk.sh и в крон его.

#!/bin/sh
bk_dir="/home/user/backup/" ## Директория, куда будут складываться бэкапы
dt="`date +\%Y\%d\%m`" ## Текущая дата
dt_old="`date -v-7d +\%Y\%d\%m`"## Дата на неделю раньше

cd $bk_dir
/usr/local/bin/mysqldump --user=[пользователь] --password=[пароль] --opt [Имя БД] --compatible=mysql40 | /usr/bin/bzip2 > $dt.bz2 ## При условии, что на хосте есть bz2 (архиватор)
/bin/chmod 0600 $dt.bz2 #Если директория доступна по HTTP, что бы не стянули наши бэкапы

if [ -e "$dt_old.bz2" ]
then rm "$dt_old.bz2"
fi
Вы там держитесь! Хорошего вам настроения. Здоровья.
R
На сайте с 26.05.2006
Offline
12
#7
Kost:
Как-то так. Пароль спросят, или дописать его сразу за -p.
mysqldump -urivlex rivlex_smf2 -p --compatible=mysql40 > baza_new.sql

Kost, спасибо. Действительно работает.

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