Percona Toolkit使用之pt-show-grants

版权声明:本文为博主原创文章,转载敬请作出引用声明方便相互交流学习! https://blog.csdn.net/sweeper_freedoman/article/details/79939638

     pt-show-grants的功能是格式化打印输出MySQL上的赋权,以便你可以有效地复制、比较以及版本控制。

     用法如下:

pt-show-grants [OPTIONS] [DSN]

     pt-show-grants展示一台MySQL服务器的赋权(用户权限)。

     使用示例:

pt-show-grants
pt-show-grants --separate --revoke | diff othergrants.sql -

     pt-show-grants提取、排序然后打印MySQL用户账户的赋权。

     你为什么需要这?有若干原因。

     ①从一台服务器方便地复制用户到其他服务器。你可以简单地从第一台服务器提取赋权然后直接将输出管道定向到其他服务器。

     ②将你的赋权放入版本控制。如果你执行一个日常自动将赋权备份到版本控制的操作,你会得到很多并没有改动的虚假的赋权更改集,因为MySQL以一个看上去随机的顺序打印输出实际的赋权。例如,一天它输出

GRANT DELETE, INSERT, UPDATE ON `test`.* TO 'foo'@'%';

然后另一天它输出

GRANT INSERT, DELETE, UPDATE ON `test`.* TO 'foo'@'%';

赋权并未改动,但是顺序改变了。该脚本在行内对“GRANT”和“ON”之间的赋权排序。如果“ SHOW GRANTS ”语句输出多行,它也会排序。除此之外,如果存在的话,它总是以用户的密码开头打印行。这移除了你执行“ SHOW GRANTS ”语句产生的三种不一致性,避免了版本控制中的虚假更改集。

     ③如果你想要diff服务器间的赋权,没有pt-show-grants所做的对它们进行格式化的工作,将会很棘手。其输出是完全可diff的。

     使用--revoke、--separate以及其他选项,pt-show-grants也可以方便地撤销用户的特定权限。这是额外附加了。

     以下为个人本地环境的测试数据。

root@ubuntu:~# pt-show-grants -h192.168.112.129 -P3306 -uroot -p123456
-- Grants dumped by pt-show-grants
-- Dumped from server 192.168.112.129 via TCP/IP, MySQL 5.7.18-log at 2018-04-14 14:51:43
-- Grants for 'mysql.sys'@'localhost'
CREATE USER IF NOT EXISTS 'mysql.sys'@'localhost';
ALTER USER 'mysql.sys'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE' REQUIRE NONE 
PASSWORD EXPIRE DEFAULT ACCOUNT LOCK;GRANT SELECT ON `sys`.`sys_config` TO 'mysql.sys'@'localhost';
GRANT TRIGGER ON `sys`.* TO 'mysql.sys'@'localhost';
GRANT USAGE ON *.* TO 'mysql.sys'@'localhost';
-- Grants for 'root'@'%'
CREATE USER IF NOT EXISTS 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' REQUIRE NONE PASSWORD EXPI
RE DEFAULT ACCOUNT UNLOCK;GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;



     参考:

https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html

猜你喜欢

转载自blog.csdn.net/sweeper_freedoman/article/details/79939638
今日推荐