跳到内容

pt-show-grants

名字

pt-show-grants-规范化和打印MySQL授权,这样你就可以有效地复制,比较和版本控制它们。

剧情简介

使用

pt-显示-奖助金选项DSN

pt-show-grants显示从MySQL服务器授予的(用户权限)。

例子

pt-show-grants pt-show-grants——独立——撤销|diffothergrants.sql-

风险

雷竞技下载官网Percona Toolkit是成熟的,在现实世界中得到了验证,并且经过了良好的测试,但所有数据库工具都可能对系统和数据库服务器构成风险。使用此工具前,请:

  • 阅读工具的文档

  • 检查工具已知的“bug”

  • 在非生产服务器上测试该工具

  • 备份您的生产服务器并验证备份

描述

pt-show-grants提取,订单,然后打印授予MySQL用户帐户。

你为什么想要这个?有几个原因。

第一种方法是轻松地将用户从一个服务器复制到另一个服务器;您可以简单地从第一个服务器提取拨款,并将输出直接输送到另一个服务器。

第二个用途是将授权置于版本控制中。如果您每天自动将授权转储到版本控制中,您将得到许多没有更改的授权的虚假更改集,因为MySQL以看似随机的顺序打印出实际的授权。例如,有一天它会说

格兰特删除,插入,更新测验.*“foo”@“%”

然后有一天它会说

格兰特插入,删除,更新测验.*“foo”@“%”

拨款没变,但命令变了。这个脚本在“GRANT”和“ON”之间对赠款进行排序。如果SHOW GRANTS中有多行,它也会对行进行排序,只是它总是先打印带有用户密码的行(如果存在)。这消除了运行SHOW GRANTS时产生的三种不一致,并避免了版本控制中的虚假更改集。

第三,如果您想在不同的服务器之间区分拨款,如果不将它们“规范化”将很难实现pt-show-grants所做的事。输出是完全可扩散的。

——撤销——独立还有其他选择,pt-show-grants还可以轻松撤销用户的特定特权。除此之外,这很乏味。

选项

该工具接受额外的命令行参数。详细信息请参考“概要”和使用信息。

——ask-pass

连接MySQL时提示输入密码。

——字符集

简写形式:-A;类型:字符串

默认字符集。如果值为utf8,将Perl在STDOUT上的binmode设置为utf8,将mysql_enable_utf8选项传递给DBD::mysql,并在连接mysql后运行SET NAMES utf8。任何其他值在没有utf8层的STDOUT上设置binmode,并在连接到MySQL后运行SET NAMES。

——配置

类型:数组

读取以逗号分隔的配置文件列表;如果指定,则必须是命令行上的第一个选项。

——数据库

简写形式:-D;类型:字符串

用于连接的数据库。

——defaults-file

简写形式:-F;类型:字符串

只从给定文件中读取mysql选项。你必须给出一个绝对路径名。

——下降

在输出的每个用户之前添加DROP USER。

——平

输出后添加FLUSH特权。

如果您想完全删除一个用户,那么在4.1.1之前的服务器上可能需要这个功能。

——没有头

默认值:是的

打印转储头。

该标头位于转储的授权之前。它看起来是这样的:

--奖助金倾倒通过程序:pt-show-grants1.0.19——倾倒服务器本地主机通过UNIX套接字,MySQL5.0.82-log2009选手10: 01:04

另请参阅——没有时间戳

——帮助

求救并离开。

——主机

简写形式:-h;类型:字符串

连接到主机。

——忽略

类型:数组

忽略这个以逗号分隔的用户列表。

——只有

类型:数组

仅显示此逗号分隔的用户列表的授权。

——密码

简写形式:-p;类型:字符串

连接时使用的密码。如果password包含逗号,则必须用反斜杠转义:" exam,ple "

——pid

类型:字符串

创建给定的PID文件。如果PID文件已经存在,并且其中包含的PID与当前PID不同,该工具将不会启动。但是,如果PID文件存在,并且其中包含的PID不再运行,该工具将用当前的PID覆盖PID文件。当工具退出时,PID文件将自动删除。

——港口

简写形式:-P;类型:int

用于连接的端口号。

——撤销

为每个GRANT语句添加REVOKE语句。

——独立

分别列出每个GRANT或REVOKE。

MySQL的SHOW GRANTS命令的默认输出在一行中列出了许多特权。与——平,在每个用户之后放置一个FLUSH PRIVILEGES,而不是在所有输出的末尾放置一次。

——set-vars

类型:数组

的列表中设置MySQL变量变量=值对。

默认情况下,工具集:

wait_timeout10000

在命令行上指定的变量将覆盖这些默认值。例如,指定——set-varswait_timeout = 500的默认值10000

如果无法设置变量,该工具将打印警告并继续。

——[不]include-unused-roles

当转储MySQL 8+角色时,包括未使用的角色。

——套接字

简写形式:-S;类型:字符串

用于连接的套接字文件。

——没有时间戳

默认值:是的

向转储报头添加时间戳。

另请参阅——没有头

——用户

简写形式:-u;类型:字符串

如果不是当前用户,则为登录用户。

——版本

显示版本并退出。

DSN选项

这些DSN选项用于创建DSN。每个选项给出如下选项=值.选项是区分大小写的,所以P和P不是同一个选项。的前面或后面不能有空格如果值包含空格,则必须加引号。DSN选项以逗号分隔。详细信息请参阅p雷竞技下载官网ercona-toolkit manpage。

  • 一个

dsn:字符集;复制:是的

默认字符集。

  • D

dsn:数据库;复制:是的

默认数据库。

  • F

dsn: mysql_read_default_file;复制:是的

只从给定文件中读取默认选项

  • h

dsn:主机;复制:是的

连接到主机。

  • p

dsn:密码;复制:是的

连接时使用的密码。如果password包含逗号,则必须用反斜杠转义:" exam,ple "

  • P

dsn:港口;复制:是的

用于连接的端口号。

  • 年代

dsn: mysql_socket;复制:是的

用于连接的套接字文件。

  • u

dsn:用户;复制:是的

如果不是当前用户,则为登录用户。

环境

环境变量PTDEBUG打开详细调试输出到STDERR。要启用调试并将所有输出捕获到一个文件,运行如下工具:

PTDEBUG1pt-show-grants...>文件2>1

注意:调试输出是大量的,可能会产生几兆字节的输出。

注意

使用可能会暴露密码。启用调试时,所有命令行参数都显示在输出中。

系统需求

您需要Perl、DBI、DBD::mysql和一些核心包,这些包应该安装在任何合理的Perl新版本中。

错误

有关已知错误的列表,请参见https://jira.雷竞技下载官网percona.com/projects/PT/issues

请在https://jira.雷竞技下载官网percona.com/projects/PT.在错误报告中包含以下信息:

  • 用于运行工具的完整命令行

  • 工具——版本

  • 所有涉及的服务器的MySQL版本

  • 工具的输出,包括STDERR

  • 输入文件(日志/转储/配置文件等)

如果可能,通过运行工具包含调试输出PTDEBUG;看到“环境”。

下载

访问http://www.雷竞技下载官网percona.com/software/percona-toolkit/下载最新版本的Percona Toolkit。雷竞技下载官网或者,从命令行获取最新版本:

wget雷竞技下载官网percona.com/get/percona-toolkit.tar.gz wget雷竞技下载官网percona.com/get/percona-toolkit.rpm wget雷竞技下载官网percona.com/get/percona-toolkit.deb

您还可以从最新版本中获得单独的工具:

wget雷竞技下载官网percona.com/get/TOOL

取代工具使用任何工具的名称。

作者

施瓦兹男爵

关于perc雷竞技下载官网ona工具箱

该工具是Percona Toolkit的一雷竞技下载官网部分,是Percona开发的MySQL高级命令行工具的集合。雷竞技下载官网Percona Toolkit在2011年6月从两个项目中分叉出来:Maatkit和Aspersa。这些项目是由Baron Schwartz创建的,主要由他和Daniel Nichter开发。访问http://www.雷竞技下载官网percona.com/software/以了解Percona的其他免费开源软件。雷竞技下载官网

版本

pt-show-grants3.5.2

Baidu
map