备份MySQL用户

Che*_*ian 30 mysql database migration backup database-design

如何备份MySQL用户及其权限?

像mysqldump这样的东西?

我正在寻找类似的东西:

mysqldump -d -u root -p MyTable > Schema.sql
Run Code Online (Sandbox Code Playgroud)

小智 41

mysql -BNe "select concat('\'',user,'\'@\'',host,'\'') from mysql.user where user != 'root'" | \
while read uh; do mysql -BNe "show grants for $uh" | sed 's/$/;/; s/\\\\/\\/g'; done > grants.sql
Run Code Online (Sandbox Code Playgroud)


jsi*_*ist 27

您可以使用备份mysql数据库

mysqldump -u root -p mysql > mysql.sql
Run Code Online (Sandbox Code Playgroud)

并通过执行恢复mysql数据库

 mysql -uroot -p mysql < mysql.sql
Run Code Online (Sandbox Code Playgroud)

别忘了

FLUSH PRIVILEGES

恢复转储后.

希望能帮助到你...

  • 只有恢复到相同的MySQL版本才能保证工作,'mysql'数据库可能会因版本而异,并且包含的​​内容远不止用户/权限.如果您的目的是将用户和权限迁移到另一台服务器,那么@spirit的答案是可行的方法. (3认同)

sim*_*rsh 13

到目前为止,我使用MySQL的经验并没有看到通过命令行备份用户及其权限的任何内容.

但我可以通过备份mysql来备份这些关键数据

mysqldump -u root -p mysql > mysql.sql
Run Code Online (Sandbox Code Playgroud)


Jos*_*son 8

Percona 有一个很好的工具。pt-show-grants将转储用户及其权限,以便您可以轻松地重新加载它们。

https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html


Zor*_*che 6

用户和权限存储在名为"mysql"的数据库中.您可以使用mysqldump来备份名为"mysql"的数据库中的表.

  • 你可以添加如何恢复那些? (6认同)