千家信息网

mysql导出用户权限

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,在对MySQL数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限。对于这个迁移我们可以从mysql.user表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL
千家信息网最后更新 2026年11月02日mysql导出用户权限

在对MySQL数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限。对于这个迁移我们可以从mysql.user表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL语句即可。本文提供了生成提取用户权限的脚本并给出演示。

1、生成用户权限的脚本

[root@db upload]# more exp_grant.sh
#!/bin/bash
#Function export user privileges

pwd=123456
expgrants()
{
mysql -B -u'root' -p${pwd} -N $@ -e "SELECT CONCAT(
'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
) AS query FROM mysql.user" | \
mysql -u'root' -p${pwd} $@ | \
sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/-- \1 /;/--/{x;p;x;}'
}
expgrants > ./grants.sql

2、生成权限SQL脚本

[root@db upload]# ./exp_grant.sh

[root@db upload]# cat grants.sql
-- Grants for root@127.0.0.1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY PASSWORD '*EB3EA446C759C9DA93F84FCB56430DBEF051A9DD' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `CNBO0815`.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;

-- Grants for root@172.16.10.%
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.10.%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';

-- Grants for CNBO@192.168.1.%
GRANT USAGE ON *.* TO 'CNBO'@'192.168.1.%' IDENTIFIED BY PASSWORD '*ABD91BAD4A3448428563952E281015B237310EA8';

......

3、在目标服务器上执行脚本

将生成的脚本在目标服务器上执行即可。 mysql -uname -ppwd

需要注意:

a、目标服务上为非空服务器,已经存在一些账户及权限应考虑会覆盖的问题。

b、如果仅仅需要迁移非root用户,可以在原脚本中添加过滤条件,即 where user<>'root' 。


权限 脚本 生成 用户 服务 服务器 目标 数据 数据库 语句 时候 有时候 条件 账户 问题 演示 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 山东特亿宝互联网科技有限公司 互联网巨头科技公司 互联网下的科技发展 四川狮子座互联网科技 互联网科技大会案例 互联网金融监管科技 镁科技互联网资讯平台 深圳国际航运科技和互联网 互联网科技中介 受益于互联网科技的高速发展 宁夏科技产业互联网案例 互联网科技革命什么开始 亳州好赞互联网科技有限公司 互联网科技的全部知识 卓翼科技产业互联网合作 科技互联网的核心竞争力 电子商务与互联网科技的关系 互联网科技实习生岗位 2021世界互联网领先科技成果发布 互联网科技名片 云之行互联网科技 工业互联网科技新基建 青海省互联网新科技 以后互联网后是啥科技 湖南一路畅行互联网科技 中国科技创新与世界互联网大会 世界互联网科技成果奖 互联网金融运营模式中的金融科技 广东猫王互联网科技有限公司电话
0