mysql将一个数据库的用户同步至另一个数据库

一个数据库中有多个库及多个用户时,需要将用户迁移至另一个数据库。

首选查看数据库中有哪些用户。

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

可以看出有很多的用户,但是我们以test为例做这个小的测试。

查看这个用户的权限,及给哪个表授权的。

show grants for 'test'@'localhost';

从上图可以看出是给gyl_test库的所有权限,下一步查询这个用户的密钥。

select * from mysql.user where user='test' \G

我们知道这个用户的密钥后,那就在新的库中执行。就等于把这个用户的权限及密码迁移至另一数据库。

从图1知道了这个用户test@localhost,然后给test_gyl这个库授权的所有的权限,然后通过图二知道了密钥。然后修改对应的授权账号,授权数据库,然后在加上密钥图2查出来的密钥在另一台数据库上执行即可。

GRANT   ALL    PRIVILEGES    ON    `test_gyl`.*    TO    'test'@'localhost'    IDENTIFIED    BY   PASSWORD     '*425A54CAD84C0D0B2617463EBE4A2916';

 然后在另一台数据库用此账号,登陆查看。

 

 

 

 

                                                               

 

posted @ 2021-03-24 11:14  點燈的人  阅读(1451)  评论(0)    收藏  举报