程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中導出用戶權限設置的劇本分享

MySQL中導出用戶權限設置的劇本分享

編輯:MySQL綜合教程

MySQL中導出用戶權限設置的劇本分享。本站提示廣大學習愛好者:(MySQL中導出用戶權限設置的劇本分享)文章只能為提供參考,不一定能成為您想要的結果。以下是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 [email protected]  
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 [email protected].%  
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.10.%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'; 
 
-- Grants for [email protected].%  
GRANT USAGE ON *.* TO 'CNBO'@'192.168.1.%' IDENTIFIED BY PASSWORD '*ABD91BAD4A3448428563952E281015B237310EA8'; 
         ........................... 
 

3、在目的辦事器上履行劇本

將生成的劇本在目的辦事器上履行便可。 mysql -uname -ppwd <grants.sql

須要留意:

a、目的辦事上為非空辦事器,曾經存在一些賬戶及權限應斟酌會籠罩的成績。
b、假如僅僅須要遷徙非root用戶,可以在原劇本中添加過濾前提,即 where user<>'root' 。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved