sql >> Database teknologi >  >> RDS >> Mysql

Sådan eksporteres og importeres eksisterende bruger (med dens privilegier!)

En af de nemmeste måder, jeg har fundet at eksportere brugere på, er at bruge Perconas værktøj pt-show-grants. Percona-værktøjssættet er gratis, nemt at installere og nemt at bruge med masser af dokumentation. Det er en nem måde at vise alle brugere eller specifikke brugere. Den viser alle deres tilskud og output i SQL-format. Jeg vil give et eksempel på, hvordan jeg ville vise alle bevillinger til test_user:

shell> pt-show-grants --only test_user

Eksempel output af den kommando:

GRANT USAGE ON *.* TO 'test_user'@'%' IDENTIFIED BY PASSWORD '*06406C868B12689643D7E55E8EB2FE82B4A6F5F4';
GRANT ALTER, INSERT, LOCK TABLES, SELECT, UPDATE ON `test`.* TO 'test_user'@'%';

Jeg omdirigerer normalt outputtet til en fil, så jeg kan redigere det, jeg har brug for, eller indlæse det i mysql.

Alternativt, hvis du ikke ønsker at bruge Percona-værktøjet og ønsker at lave en dump af alle brugere, kan du bruge mysqldump på denne måde:

shell> mysqldump mysql --tables user db > users.sql

Bemærk:--flush-privileges vil ikke fungere med dette, da hele db'en ikke bliver dumpet. det betyder, at du skal køre det manuelt.

shell> mysql -e "FLUSH PRIVILEGES"


  1. Gruppér flere mysql-resultater efter én kolonneværdi

  2. Dump sql-fil til ClearDB i Heroku

  3. R DBI ODBC-fejl:nanodbc/nanodbc.cpp:3110:07009:[Microsoft][ODBC-driver 13 til SQL Server]Ugyldigt deskriptorindeks

  4. Sporing af DB-forespørgselstid - Bogreol/knex