我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql导出用户权限的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql导出用户权限的方法

小编给大家分享一下mysql导出用户权限的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

mysql导出用户权限的方法:首先生成用户权限的脚本;然后生成权限SQL脚本;最后在目标服务器上执行脚本,代码为【mysql -uname -ppwd<grants.sql】。

mysql导出用户权限的方法:

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

1、生成用户权限的脚本

[root@HKBO ~]# 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@HKBO ~]# ./exp_grant.sh 
 
[root@HKBO ~]# head 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';
         ...........................
 
--Author : Leshami
--Blog   : http://blog.csdn.net/leshami

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

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

mysql -uname -ppwd <grants.sql

需要注意:

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

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

以上是mysql导出用户权限的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql导出用户权限的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL查询用户权限的方法总结

介绍两种查看MySQL用户权限的两种方法 1、 使用MySQL grants命令mysql> show grants for username@localhost;+-------------------------------------
2022-05-27

MySQL创建用户和权限管理的方法

一、如何创建用户和密码 1.进入到mysql数据库下mysql> use mysql Database changed2.对新用户增删改 1.创建用户# 指定ip:192.118.1.1的chao用户登录 create user 'chao
2022-05-31

MySQL低权限提权的方法

目录背景1. 利用已知漏洞2. 利用存储过程3. 利用UDF(用户定义函数)4. 利用Trigger小结背景在mysql数据库中,用户被分为不同的权限级别,包括超级用户(root)以及其他普通用户。普通用户可能仅具有对特定数据库或表的读取
MySQL低权限提权的方法
2024-09-19

Linux MySQL的用户权限管理

在Linux MySQL中,用户权限管理是非常重要的,可以通过以下几种方式进行管理:使用GRANT和REVOKE语句:通过GRANT和REVOKE语句可以授予或撤销用户的权限。例如,可以使用GRANT语句授予用户SELECT权限:GRANT
Linux MySQL的用户权限管理
2024-08-16

MSSQL 如何导出db所有用户权限创建语句

use dbgoDECLARE @Database varchar(255),@loginName varchar(255),@roleName varchar(255),@sql nvarchar(max);SET @sql=N;DECL
2023-06-03

Linux用户配置sudo权限(visudo)的方法

sudo的工作过程如下: 1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 3,若密码输入成功,则开始执行sudo
2022-06-04

mysql用户管理和权限设置方式

目录mysql用户管理和权限设置MYSQL到底都有哪些权限呢?MySQL权限经验原则MySQL权限实战1. 创建用户2. 授权3. 设置与更改用户密码4. 撤销用户权限5. 删除用户总结mysql用户管理和权限设置MYSQL到底都有哪些权
mysql用户管理和权限设置方式
2024-08-09

sqlserver用户权限分配的方法是什么

在SQL Server中,有多种方法可以分配用户权限,具体取决于您想要分配的权限级别和对象类型。以下是常用的方法:1. 使用GRANT语句:使用GRANT语句可以授予用户对数据库对象(如表、视图、存储过程等)的特定权限。例如,使用以下语法授
2023-09-27

centos查看用户权限的方法是什么

在CentOS中,可以使用以下命令来查看用户的权限:1. 使用`id`命令查看用户的UID和GID:`id username`。将`username`替换为要查看权限的用户名。2. 使用`groups`命令查看用户所属的组:`groups
2023-09-15

编程热搜

目录