2009-02-28 77 views
27

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

是否像mysqldump?

我要寻找类似:

mysqldump -d -u root -p MyTable > Schema.sql 

回答

14

到目前为止,我与MySQL的经验,我没有看到任何东西备份用户及其权限通过命令行。

,但我可以通过备份备份mysql的

mysqldump -u root -p mysql > mysql.sql 
+0

这应该如何恢复?它只是通过在information_schema上执行结果文件? – 2012-10-31 08:21:33

6

的用户和权限都存储在录入数据库名为“MySQL的那些关键数据。您可以使用mysqldump来备份名为'mysql'的数据库中的表。

+6

你可以添加如何恢复这些? – Dementic 2011-10-20 14:01:36

+0

@Dementic请参阅http://stackoverflow.com/a/12634618/2310830 – RiggsFolly 2016-04-16 11:42:46

34
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 
+1

Lifesaver,这! – Volomike 2013-07-26 19:20:03

19

你可以通过执行

mysql -uroot -p mysql < mysql.sql 

使用

mysqldump -u root -p mysql > mysql.sql 

和恢复mysql数据库备份mysql数据库不要忘记

FLUSH PRIVILEGES

恢复转储后。

希望它可以帮助...

0

可能很明显的mysql命令衬里但精神的回答上面有双方的MySQL命令

的mysql -u根-ppassword后加-u根-ppassword -BNe“从mysql.user选择concat('\'',user,'\'@'',host,'\''),其中user!='root'”|同时阅读呃;做mysql -u root -ppassword -BNe“显示$ uh”的授权sed's/$ /; /; S/\\/\/G';完成> grants.sql;