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';

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

浙公网安备 33010602011771号