MySQL中导出用户权限设置的脚本分享
2023-06-13 09:15:30 时间
在对MySQL数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限。对于这个迁移我们可以从mysql.user表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL语句即可。本文提供了生成提取用户权限的脚本并给出演示。
1、生成用户权限的脚本
[root@HKBO~]#moreexp_grant.sh
#!/bin/bash
#Functionexportuserprivileges
pwd=123456
expgrants()
{
mysql-B-u"root"-p${pwd}-N$@-e"SELECTCONCAT(
"SHOWGRANTSFOR""",user,"""@""",host,""";"
)ASqueryFROMmysql.user"|\
mysql-u"root"-p${pwd}$@|\
sed"s/\(GRANT.*\)/\1;/;s/^\(Grantsfor.*\)/--\1/;/--/{x;p;x;}"
}
expgrants>./grants.sql
2、生成权限SQL脚本
[root@HKBO~]#./exp_grant.sh
[root@HKBO~]#headgrants.sql
--Grantsforroot@127.0.0.1
GRANTALLPRIVILEGESON*.*TO"root"@"127.0.0.1"IDENTIFIEDBYPASSWORD"*EB3EA446C759C9DA93F84FCB56430DBEF051A9DD"WITHGRANTOPTION;
GRANTALLPRIVILEGESON`CNBO0815`.*TO"root"@"127.0.0.1"WITHGRANTOPTION;
--Grantsforroot@172.16.10.%
GRANTALLPRIVILEGESON*.*TO"root"@"172.16.10.%"IDENTIFIEDBYPASSWORD"*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9";
--GrantsforCNBO@192.168.1.%
GRANTUSAGEON*.*TO"CNBO"@"192.168.1.%"IDENTIFIEDBYPASSWORD"*ABD91BAD4A3448428563952E281015B237310EA8";
...........................
3、在目标服务器上执行脚本
将生成的脚本在目标服务器上执行即可。mysql-uname-ppwd<grants.sql
需要注意:
a、目标服务上为非空服务器,已经存在一些账户及权限应考虑会覆盖的问题。
b、如果仅仅需要迁移非root用户,可以在原脚本中添加过滤条件,即whereuser<>"root"。
相关文章
- 关于MYSQL字符集问题(二)详解数据库
- High Performance MySQL Engine(高性能mysql英文)
- 权限设置MySQL数据库的只读权限(mysql数据库只读)
- 如何快速更改MySQL权限设置(更改mysql权限设置)
- MySQL: 遍历所有表的方法(mysql遍历所有表)
- 库管理MySQL用户权限与数据库管理策略(mysql用户与数据)
- 权限MySQL查看用户权限的操作步骤(mysql下查看用户)
- MySQL中PD导出数据的步骤(pd导出mysql)
- MySQL 远程访问权限设置指南(mysql远程权限设置)
- 快速导出MySQL表中指定数据(mysql导出指定表数据)
- 之间的比较比较MySQL与其他数据库的差异性(mysql不同数据库)
- MySQL权限提升 优化你的数据库性能!(mysql提升权限)
- MySQL实现高可用、高扩容的集群方案(mysql做集群)
- MySQL和MySQLd:它们之间的区别(mysql和mysqld)
- 导入导出MySQL:二进制数据导入导出指南(mysql二进制数据)
- MySQL云端高性能高可用实践:绝妙方案解秘(mysql高可用高性能)
- MySQL权限设置,保障数据安全。(mysql权限设置)
- MySQL 授权管理:实施严格的权限控制(mysql授权权限)
- 排查问题:找不到 MySQL 服务(服务找不到mysql)
- 的区别SQLite和MySQL: 突出的不同特点(sqlite和mysql)
- 控制策略MySQL 权限控制:精细化策略实施(mysql权限粒度)
- 简单易学:2003如何安装MySQL(2003安装mysql)
- MySQL数据库编码设置方法(mysql如何设置编码)
- MySQL安全性:如何保障低权限用户的数据安全?(mysql低权限)
- 解决MySQL插入中文乱码问题(插入mysql中文乱码)
- MySQL驱动丢失:求救!(找不到mysql驱动)
- MySQL 中数据的 db 导入实践(.db 导入 mysql)
- MySQL分页导出数据的实现方法(mysql中分页导出)
- MySQL权限管理详解(mysql中关于权限分配)
- MySQL快速导出数据教程避免不必要的数据导出错误问题(mysql 不导出数据)
- MySQL免费下载指南如何在笔记本上安装MySQL数据库(mysql下载笔记本)
- MySQL视频教程下载安装操作指南(mysql下载及安装视频)
- MySQL下载及安装教程快速掌握MySql下载及安装方法,更高效地使用MySql数据库(mysql下载了在哪)
- MySQL 数据库导出不完整解决方法(mysql不能完整导出)