这是 pt-show-grantsp 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
pt-show-grants - 规范化和打印 MySQL 授权,以便您可以有效地复制,
比较和版本控制它们。
概要
用法:pt-show-grants [选项] [DSN]
pt-show-grants 显示来自 MySQL 服务器的授权(用户权限)。
例子:
pt-show-授予
pt-show-grants --separate --revoke | 差异 othergrants.sql -
风险
Percona Toolkit 是成熟的,在现实世界中得到验证,并经过良好测试,但所有数据库
工具会给系统和数据库服务器带来风险。 在使用这个工具之前,
请:
· 阅读工具的文档
· 查看工具已知的“BUGS”
· 在非生产服务器上测试该工具
· 备份您的生产服务器并验证备份
商品描述
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 时会出现的三种不一致情况,
并避免版本控制中的虚假变更集。
第三,如果你想跨服务器区分授权,没有“规范化”将很难
他们,pt-show-grants 就是这样做的。 输出是完全可区分的。
借助“--revoke”、“--separate”等选项,pt-show-grants 还可以轻松实现
撤销用户的特定权限。 否则这很乏味。
配置
此工具接受额外的命令行参数。 参考“概要”和用法
详细信息。
--询问通行证
连接 MySQL 时提示输入密码。
--字符集
简写:-A; 类型:字符串
默认字符集。 如果值为 utf8,则将 STDOUT 上的 Perl 的 binmode 设置为 utf8,
将 mysql_enable_utf8 选项传递给 DBD::mysql,然后运行 SET NAMES UTF8
连接到 MySQL。 任何其他值在没有 utf8 层的 STDOUT 上设置 binmode,
并在连接到 MySQL 后运行 SET NAMES。
--配置
类型:数组
阅读这个逗号分隔的配置文件列表; 如果指定,这必须是第一个
命令行选项。
- 数据库
简写:-D; 类型:字符串
用于连接的数据库。
--defaults-文件
简写:-F; 类型:字符串
仅从给定文件中读取 mysql 选项。 您必须提供绝对路径名。
- 降低
在输出中的每个用户之前添加 DROP USER。
--冲洗
在输出后添加 FLUSH PRIVILEGES。
如果您想完全删除用户,您可能需要在 4.1.1 之前的服务器上使用它。
--[无]标题
默认:是
打印转储标题。
标头在转储的授权之前。 看起来像:
-- 由 pt-show-grants 1.0.19 转储的赠款
-- 在 5.0.82-2009-10 26:10:01 通过 UNIX 套接字从服务器本地主机转储,MySQL 04-log
另请参见“--[no]timestamp”。
- 帮帮我
显示帮助并退出。
- 主持人
简写:-h; 类型:字符串
连接到主机。
- 忽略
类型:数组
忽略此逗号分隔的用户列表。
- 只要
类型:数组
仅显示此逗号分隔的用户列表的授权。
- 密码
简写形式:-p; 类型:字符串
连接时使用的密码。 如果密码包含逗号,则必须对其进行转义
带反斜杠:“exam\,ple”
--pid
类型:字符串
创建给定的 PID 文件。 如果 PID 文件已经存在并且该工具将不会启动
它包含的 PID 与当前 PID 不同。 但是,如果 PID 文件
存在并且它包含的 PID 不再运行,该工具将覆盖 PID
带有当前 PID 的文件。 工具退出时,PID 文件会自动删除。
- 港口
简写形式:-P; 类型:int
用于连接的端口号。
- 撤销
为每个 GRANT 语句添加 REVOKE 语句。
- 分离
分别列出每个 GRANT 或 REVOKE。
MySQL 的 SHOW GRANTS 命令的默认输出列出了单个
线。 使用“--flush”,在每个用户之后放置一个 FLUSH PRIVILEGES,而不是一次
全部输出结束。
--设置变量
类型:数组
在这个逗号分隔的“变量=值”对列表中设置 MySQL 变量。
默认情况下,工具集:
等待超时=10000
在命令行上指定的变量会覆盖这些默认值。 例如,
指定“--set-vars wait_timeout=500”会覆盖默认值 10000。
如果无法设置变量,该工具会打印警告并继续。
- 插座
简写:-S; 类型:字符串
用于连接的套接字文件。
--[无]时间戳
默认:是
将时间戳添加到转储标头。
另见“--[no]header”。
- 用户
简写:-u; 类型:字符串
如果不是当前用户,则用于登录的用户。
- 版
显示版本并退出。
DSN 配置
这些 DSN 选项用于创建 DSN。 每个选项都像“option=value”一样给出。
选项区分大小写,因此 P 和 p 不是同一个选项。 不可能有
“=”之前或之后的空格,如果该值包含空格,则必须用引号引起来。
DSN 选项以逗号分隔。 有关完整详细信息,请参阅 percona-toolkit 联机帮助页。
· 一种
dsn:字符集; 副本:是
默认字符集。
·D
dsn:数据库; 副本:是
默认数据库。
F
dsn: mysql_read_default_file; 副本:是
仅从给定文件中读取默认选项
· H
dsn:主机; 副本:是
连接到主机。
·p
dsn:密码; 副本:是
连接时使用的密码。 如果密码包含逗号,则必须对其进行转义
带反斜杠:“exam\,ple”
·P
dsn:端口; 副本:是
用于连接的端口号。
·S
dsn: mysql_socket; 副本:是
用于连接的套接字文件。
·你
dsn:用户; 副本:是
如果不是当前用户,则用于登录的用户。
环境
环境变量“PTDEBUG”启用对 STDERR 的详细调试输出。 启用
调试并将所有输出捕获到文件中,运行该工具,如:
PTDEBUG=1 pt-show-grants ... > 文件 2>&1
请注意:调试输出量很大,可能会生成几兆字节的输出。
系统 参赛要件
你需要 Perl、DBI、DBD::mysql 和一些应该安装在任何地方的核心包。
相当新版本的 Perl。
使用 onworks.net 服务在线使用 pt-show-grantsp