在对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 需要注意:

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

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

参考:

http://serverfault.com/questions/8860/how-can-i-export-the-privileges-from-mysql-and-then-import-to-a-new-server

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

TAG标签:权限用户

MySQL怎么导出用户权限表_导出MySQL用户权限_MySQL相关推荐

  1. mysql bench建立一张表_使用MySQL Workbench建立数据库,建立新的表,向表中添加数据...

    点击上图中的"加号"图标,新建一个连接, 如上图,先输入数据库的账号密码,帐号默认为root,填好密码后 点击"OK",连接就建立好了,建立完成后,会出现一个长 ...

  2. mysql创建带日期的表_在MySQL中创建带有日期的临时表

    要创建带有日期的临时表,请在MySQL中使用CREATE TEMPORARY TABLE.以下是语法- 语法create temporary table yourTableName( yourColu ...

  3. mysql 高并发写入锁表_使用mysql中的锁解决高并发问题

    阿里云产品通用代金券,最高可领1888分享一波阿里云红包. 阿里云的购买入口 为什么要加锁 多核计算机的出现,计算机实现真正并行计算,可以在同一时刻,执行多个任务.在多线程编程中,因为线程执行顺序不可 ...

  4. 权限表管理之获取用户权限表列表数据

    用户权限控制说明 在产品运营平台中,是需要对用户进行权限控制的.Django实现了用户权限的控制 消费者用户与公司内部运营用户使用一个用户数据库来存储 通过is_staff 来区分是运营用户还是消费者 ...

  5. mysql留存数据表_用mysql统计留存率

    分析中留存是个非常重要的指标,很多数据分析平台都提供留存数据的web端展现服务 那么,如何基于一个用户行为表,用mysql得到留存数据呢? 基于一个日常的用户行为表(比如登陆,测量等),用mysql直 ...

  6. 清空MySQL单库下所有表数据 || 删除MySQL单库下所有表

    一.清空MySQL单库下所有表数据 -- 清空MySQL单库下所有表数据 SELECT CONCAT('truncate table ',TABLE_NAME,';') AS PLEASE_EXEC_ ...

  7. 【oracle】创建用户(指定表空间)、删除用户

    创建用户(指定表空间).删除用户 --创建用户(表空间已存在) create user test identified by 123 account unlock default tablespace ...

  8. java导出数据透视表_使用数据库中的Java流制作数据透视表

    java导出数据透视表 来自数据库行和表的原始数据不能为人类读者提供太多了解. 相反,如果我们对数据执行某种聚合,则人类更有可能看到数据模式 在向我们展示之前. 数据透视表是聚合的一种特定形式,我们可 ...

  9. mysql命令导出数据不完整_使用MySQL MySqldump命令导出数据时的注意事项

    今天使用mysqldump命令备份数据的时候出现了一个问题. 一开始迁移 Discuz 7 论坛的 mysql 数据库时,采用 mysqldump 命令的时候一切顺利,但导入的时候却遇到了 ERROR ...

最新文章

  1. c语言之贪吃蛇源码,C语言之贪吃蛇经典源码
  2. 如何删除oracle实例
  3. 2021湖南高考艺考成绩查询,2021届湖南艺考生联考成绩查询时间安排
  4. Puppeteer 学习笔记及基本用法
  5. mattermost
  6. python如何爬虫股票数据_简单爬虫:东方财富网股票数据爬取(python_017)
  7. 集合中获取元素为什么要进行强制类型转换
  8. 当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?
  9. 基于Sql Server 2008的分布式数据库的实践
  10. BugkuCTF-Crypto题Crack it
  11. Java数组数字排列
  12. Atitit.提升稳定性-----分析内存泄漏PermGen OOM跟解决之道...java
  13. php++redius,【答疑】请问edius音波显示快捷键是什么呢?怎么使用的呢? - 羽兔网问答...
  14. 直觉模糊集的基本要素
  15. 315|大数据杀熟,如何才不被坑?
  16. 汇编没什么用,不用学了
  17. 中国联通沃商-上海大学生手机应用创意、开发大赛活动
  18. TypeScript 学习笔记
  19. android 集成支付宝快捷支付 问题 rsa,集成支付宝快捷支付
  20. RISC-V指令集架构优势

热门文章

  1. Struts2中Result类型介绍
  2. 面对挫折:给即将或已经遭受社会毒打的每一个人
  3. DDD(领域驱动设计)
  4. Java 各种日期/时间 对象转Long时间戳
  5. python中什么是主要数据类型_python中基本数据类型是什么
  6. Java 面向对象:instanceof和类型转换的理解
  7. idea如何全局查找和替换
  8. 天文学家用AI探测宇宙:借助图像识别探索银河系中的红巨星
  9. 关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
  10. 艾媒:ofo活跃用户规模为摩拜近2倍 每10辆共享单车7辆小黄车