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.