BOINC@Poland

Inne => Zespół i strona => Archiwum => Rozruch strony => Wątek zaczęty przez: Mchl w 21 Maj 2006, 11:10

Tytuł: Kopie bazy danych
Wiadomość wysłana przez: Mchl w 21 Maj 2006, 11:10
W związku z ostatnimi zdarzeniami i jak się okazało niesprawnym systemem tworzenia kopii zapasowych udostępnianego przez firmę hostingową mam pytanie.
Czy zna ktoś sposób na automatyczne okresowe archiwizowanie bazy danych mySQL i wysyłanie kopii pod wskazany adres email?

Najlepszy byłby skrpyt php lub cgi, który mogę wywoływać przy pomocy cron tab.
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: krzygaj w 21 Maj 2006, 22:21
a może samym skryptem w bashu?
mysqldump + mail
np:
./mysqldump -u [user] -p [haslo] --databases [baza danych] --default-character-set=utf8 > /baza.sql

mail [adres@email.pl] -s [temat] < /baza.sql

oczywiscie mozna to wywolac cronem :)
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: Mchl w 22 Maj 2006, 00:05
Siedziałem właśnie dziś nad tym i bez przerwy dostawałem błąd:
Enter password: mysqldump: Got error: 1045: Access denied for user 'abc'@'localhost' (using password: NO) when trying to connect

A gdyby tak się dało, to byłoby całkiem fajnie, bo efekt dziłania skryptu dostaje bezpośrednio na maila. Musze z supportem zagadać o co chodzi. Czyżbym nie miał dostęu do bazy danych z poziomu crona?
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: krzygaj w 22 Maj 2006, 06:41
Enter password: mysqldump: Got error: 1045: Access denied for user 'abc'@'localhost' [b](using password: NO)[/b] when trying to connect

hmmm to mnie zastanawia nie wiem czy zapodajesz haslo oraz czy uzytkownik abc ma prawa logowania sie do bazy z localhosta
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: Mchl w 22 Maj 2006, 09:24
Przećwiczyłem różne kombinacje. Tworzyłem nowych użytkowników, nadawałem im uprawnienia itd. Hasło oczywiście też podawałem. Coś dziwnego jednym słowem (dwoma).
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: krzygaj w 22 Maj 2006, 09:51
chyba mój błąd ;)
powinno być:
./mysqldump -u [user] --password=[haslo] --databases [baza danych] --default-character-set=utf8 > /baza.sql
Sorki za pomyłke :)
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: Mchl w 22 Maj 2006, 15:20
Różne opcje już przećwiczyłem. Żeby było śmieszniej dziś dostałem pełną kopię bazy z 20. maja. Da się odzyskać jeszcze kilka rzeczy dzięki temu.
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: krzygaj w 22 Maj 2006, 15:58
hmmmm... sprawa bardzo dziwna. Przed chwila wykonalem na swoim mysql takie kroki i dzialalo:
- zalogowalem sie z konsoli do mysqla: ./mysql -u [user] -p
- zalozylem konto: grant all privileges on [baza].* to 'krzys'@'%' identified by '54321';
i wylogowalem sie, nastepnie:
- ./mysqldump -u krzys --password=54321 --database [baza] > /plik.sql
i wszystko podzialalo bez problemu
Jeżeli to nie zadziała to ja już nie wiem co jest grane 8O
Zawsze można napisać skrypt do pakowania całej bazy mysql i wysyłać tak spakowany plik na maila. :)
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: Mchl w 22 Maj 2006, 16:20
Heh. U mnie lokalnie też nie mam z tym problemów. Widać coś tam naustawiali na lewą stronę. Mam podejrzenie, że serwer odpowiedzilany za cron ma inne IP niż serwer bazy danych, a dostę do DB jest domyślny tylko z localhost... lekka paranoja... mogliby chociaż własne serwery jeszcze dodać.
Tytuł: Kopie bazy danych
Wiadomość wysłana przez: Mchl w 23 Maj 2006, 11:19
Miałem racje. Dwa różne serwery, więc przede wszystkim potrzebny był parametr -h xxx.xxx.xxx.xxx