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

Come esportare e importare utenti esistenti (con i suoi privilegi!)

Uno dei modi più semplici che ho trovato per esportare gli utenti è utilizzare lo strumento pt-show-grants di Percona. Il kit di strumenti Percona è gratuito, facile da installare e facile da usare, con molta documentazione. È un modo semplice per mostrare tutti gli utenti o utenti specifici. Elenca tutte le loro sovvenzioni e output in formato SQL. Darò un esempio di come mostrerei tutte le sovvenzioni per test_user:

shell> pt-show-grants --only test_user

Esempio di output di quel comando:

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

Di solito ridirigo l'output in un file in modo da poter modificare ciò di cui ho bisogno o caricarlo in mysql.

In alternativa, se non vuoi usare lo strumento Percona e vuoi fare un dump di tutti gli utenti, puoi usare mysqldump in questo modo:

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

Nota:--flush-privileges non funzionerà con questo, poiché l'intero db non viene scaricato. questo significa che devi eseguirlo manualmente.

shell> mysql -e "FLUSH PRIVILEGES"