Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykonać kopię zapasową całej bazy danych MySQL ze wszystkimi użytkownikami, uprawnieniami i hasłami?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. błąd zmienianie tabeli, dodawanie klucza obcego ograniczenia uzyskiwanie błędu Nie można dodać lub zaktualizować wiersza podrzędnego

  2. Wstaw perski tekst w tabeli mysql

  3. Zapytanie SQL do obliczenia salda konta

  4. MySQL po wstawieniu wyzwalacza automatycznie zwiększa wartość, aktualizacja wartości pola po wstawieniu daje nieznany błąd kolumny

  5. BŁĄD 2006 (HY000) w wierszu 1:serwer MySQL zniknął