På det mest basale er mysqldump-kommandoen du kan bruge:
mysqldump -u$user -p$pass -S $socket --all-databases > db_backup.sql
Det vil inkludere mysql-databasen, som vil have alle brugere/privs-tabeller.
Der er ulemper ved at køre dette på et produktionssystem, da det kan forårsage låsning. Hvis dine borde er små nok, har det muligvis ikke en væsentlig indflydelse. Du vil prøve det først.
Men hvis du kører et rent InnoDB-miljø, kan du bruge --single-transaction
flag, som vil oprette dumpet i en enkelt transaktion (hent det) og dermed forhindre låsning på databasen. Bemærk, der er hjørnetilfælde, hvor den indledende FLUSH TABLES
kommando, der køres af dumpen, kan låse tabellerne. Hvis det er tilfældet, dræb dumpen og genstart den. Jeg vil også anbefale, at hvis du bruger dette til backup-formål, skal du bruge --master-data
flag også for at få de binære log-koordinater, hvorfra dumpet blev taget. På den måde, hvis du har brug for at gendanne, kan du importere dump-filen og derefter bruge mysqlbinlog
kommando for at afspille de binære logfiler fra den position, hvor dette dump blev taget.