sql >> Databasteknik >  >> RDS >> Mysql

Hur man exporterar och importerar befintlig användare (med dess privilegier!)

Ett av de enklaste sätten jag har hittat för att exportera användare är att använda Perconas verktyg pt-show-grants. Perconas verktygssats är gratis, lätt att installera och lätt att använda, med massor av dokumentation. Det är ett enkelt sätt att visa alla användare, eller specifika användare. Den listar alla deras bidrag och utdata i SQL-format. Jag ska ge ett exempel på hur jag skulle visa alla anslag för test_user:

shell> pt-show-grants --only test_user

Exempel på utdata för det kommandot:

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

Jag brukar omdirigera utdata till en fil så att jag kan redigera det jag behöver, eller ladda det till mysql.

Alternativt, om du inte vill använda Percona-verktyget och vill göra en dumpning av alla användare, kan du använda mysqldump på det här sättet:

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

Notera:--flush-privilegier fungerar inte med detta, eftersom hela db inte dumpas. det betyder att du måste köra det manuellt.

shell> mysql -e "FLUSH PRIVILEGES"


  1. Mysql infoga slumpmässig datumtid i ett givet datumintervall

  2. JSON_QUERY() Exempel i SQL Server (T-SQL)

  3. Hur skapar man en ny databas med hstore-tillägget redan installerat?

  4. Oracle pivot med underfråga