Kopie baz danych, (ich struktury i zawartości), wykonujemy programem mysqldump, zrzucając je do pliku tekstowego, (czynność tą można zautomatyzować dodając wpis do crona). Jak to zrobić można zobaczyc poniżej:
W wyniku w/w czynności powstaja dwa pliki tekstowe o przykładowej zawartości:
Opcje programu mysqldump to;
--databases baza1 baza2... - zrzuca dane z wymienionych baz listy
--all-databases - zrzuca dane wszystkich baz
--add-drop-table - w czasie odtwarzania istniejacej tabeli, aby nie wystapiły duplikacje rekordów należy użyć tej opcji. Spowoduje to usunięcie bazy, a następnie utworzenie od nowa z danych, które były w kopii zapasowej
--no-create-info - gdy chcemy zrobić kopię samych danych bez struktury bazy
--no-data - gdy chcemy zapisać strukture bazy bez danych
--opt baza_1 - gdy tworzymy kopię baza_1 wraz z rozszerzonymi informacjami MySQL
Odtwarzanie bazy po awarii polega na stworzeniu pustych baz o poprzednich nazwach i przerzuceniu do nich danych z plików kopii:
Katalog na kopie zapasowe może znajdować się na innym komputerze pracującym w sieci. Należy tylko ustawić prawa do katalogów i plików oraz zamontowac dany katalog. Sieć może być typu samba lub nfs. Jeżeli pliki kopii są duże to można je skompresować. Dodatkowo można zrobić kopie katalogów /etc/my-medium.cnf oraz /var/lib/mysql. W przypadku problemów ze startem bazy możemy ja uruchomić bez hasła poleceniem /usr/bin/mysqld_safe --skip-grant-tables &.