Najprościej mówiąc, polecenie mysqldump, którego możesz użyć to:
mysqldump -u$user -p$pass -S $socket --all-databases > db_backup.sql
Obejmuje to bazę danych mysql, która będzie zawierała wszystkie tabele użytkowników/prywatów.
Uruchamianie tego w systemie produkcyjnym ma wady, ponieważ może powodować blokowanie. Jeśli Twoje tabele są wystarczająco małe, może to nie mieć znaczącego wpływu. Najpierw będziesz chciał to przetestować.
Jeśli jednak używasz czystego środowiska InnoDB, możesz użyć --single-transaction
flaga, która utworzy zrzut w jednej transakcji (pobierz go), zapobiegając w ten sposób zablokowaniu bazy danych. Uwaga, istnieją przypadki narożne, w których początkowe FLUSH TABLES
polecenie uruchomione przez zrzut może zablokować tabele. W takim przypadku zabij zrzut i uruchom go ponownie. Polecam również, jeśli używasz tego do celów tworzenia kopii zapasowych, użyj --master-data
również flagę, aby uzyskać współrzędne dziennika binarnego, z którego pobrano zrzut. W ten sposób, jeśli chcesz przywrócić, możesz zaimportować plik zrzutu, a następnie użyć mysqlbinlog
polecenie, aby odtworzyć binarne pliki dziennika z miejsca, w którym wykonano ten zrzut.