mysql导出用户权限

  

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

  

  1、生成用户权限的脚本   

  

  (root@db上传)# exp_grant。sh
  # !/bin/bash
  #函数导出用户特权   

  

  pwd=123456
  expgrants ()
  {
  ,mysql - b - u 'root”- p $ {pwd} - n $ @ - e”选择CONCAT (
  ,,“拨款””,用户,“@”,主人,”“;”
  ,,)从mysql查询。用户“| \
  ,mysql - u 'root”- p $ {pwd} $ @ | \
  ,sed的s/\(格兰特。* \)/\ 1;/;s/^ \(拨款。* \)/猏 1/,/,/{x; p; x;}’
  }
  expgrants祝辞。/grants.sql   

  

  2、生成权限SQL脚本   

  

  #。/exp_grant.sh   

  

  #猫赠款。sql
  ——资助root@127.0.0.1 
  *上的所有特权授予。*密码确认的“根”@“127.0.0.1”“* EB3EA446C759C9DA93F84FCB56430DBEF051A9DD”GRANT选项;
  “CNBO0815”上的所有特权授予。*“根”@“127.0.0.1”GRANT选项;   

  

  ——授予root@172.16.10. %,
  *上的所有特权授予。*“根”@“172.16.10。%“确认密码”* 6 bb4837eb74329105ee4568dda7dc67ed2ca2ad9”;   

  

  ——授予CNBO@192.168.1. %,
  格兰特使用*。*“CNBO”@“192.168.1。%“确认密码”* ABD91BAD4A3448428563952E281015B237310EA8”;   

  ……
  

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

  

  将生成的脚本在目标服务器上执行即可。mysql uname -ppwd & lt; grants.sql   

  

  需要注意:   

  

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

  

  b,如果仅仅需要迁移非根用户,可以在原脚本中添加过滤条件,即user<在“根”。   

  

mysql导出用户权限