Strona 1 z 1

[mysql] kopie bazy danych

: 02 września 2014, 02:49
autor: nook
witajcie

mam wiele wiekszych baz po 5gb minimum i nie robią mi się kopie mysql automatycznie. czy wystarczy zgrywać cały katalog /var/lib/mysql i go archiwizowac sobie, i nie bedzie problemy potem z podmiana folderu przy odtworzeniu systemu np ?

Paweł

: 02 września 2014, 11:49
autor: mariaczi
Jeśli będziesz to robił po wyłączeniu mysqla, to tak.

: 02 września 2014, 12:01
autor: horizn
odpal sobie skrypt, cos w rodzaju:

dla zrzutu kazdej z osobna:

Kod: Zaznacz cały

OPTS="--skip-extended-insert --add-drop-database --max_allowed_packet=64M"

echo "show databases;" | mysql -u user mysql |
while read DB
do
   if  [ ! $DB = "Database" ]
   then
#      echo "dumping $DB now"
      if [ $DB = "information_schema" ]
      then
         mysqldump -u user $OPTS --skip-lock-tables --databases $DB >/katalog/z/backupami/$DB.dump.sql
      else
         mysqldump -u user $OPTS --databases $DB >/katalog/z/backupami/$DB.dump.sql
      fi
   fi
done
dla mnie zrzuca kilka baz. lacznie 15GB.

: 02 września 2014, 23:12
autor: nook
thx pokombinuję. z adminem gadałem żeby po prostu robić kopię /etc/ i /var/ oczywiscie zatrzymac mysql wtedy

: 02 września 2014, 23:35
autor: horizn
ja uzywam tego skryptu i zrzut robie do katalogu, ktory archwizuje bacula. bez zatrzymywania mysql. na innym mniejszym serwerze baz robie zrzut, kompresuje go, kasuje .sql i dalej bacula. z tym, ze trzymam tylko 7 ostatnich. przy robieniu backupu, skrypt najpierw sprawdza ktory jest najstarszy i jak ma wiecej niz 7 dni, to go usuwa.