|
NAMEpt-show-grants - Canonicalize and print MySQL grants so you can effectively replicate, compare and version-control them.SYNOPSISUsage: pt-show-grants [OPTIONS] [DSN]pt-show-grants shows grants (user privileges) from a MySQL server. Examples: pt-show-grants pt-show-grants --separate --revoke | diff othergrants.sql - RISKSPercona Toolkit is mature, proven in the real world, and well tested, but all database tools can pose a risk to the system and the database server. Before using this tool, please:
DESCRIPTIONpt-show-grants extracts, orders, and then prints grants for MySQL user accounts.Why would you want this? There are several reasons. The first is to easily replicate users from one server to another; you can simply extract the grants from the first server and pipe the output directly into another server. The second use is to place your grants into version control. If you do a daily automated grant dump into version control, you'll get lots of spurious changesets for grants that don't change, because MySQL prints the actual grants out in a seemingly random order. For instance, one day it'll say GRANT DELETE, INSERT, UPDATE ON `test`.* TO 'foo'@'%'; And then another day it'll say GRANT INSERT, DELETE, UPDATE ON `test`.* TO 'foo'@'%'; The grants haven't changed, but the order has. This script sorts the grants within the line, between 'GRANT' and 'ON'. If there are multiple rows from SHOW GRANTS, it sorts the rows too, except that it always prints the row with the user's password first, if it exists. This removes three kinds of inconsistency you'll get from running SHOW GRANTS, and avoids spurious changesets in version control. Third, if you want to diff grants across servers, it will be hard without "canonicalizing" them, which pt-show-grants does. The output is fully diff-able. With the "--revoke", "--separate" and other options, pt-show-grants also makes it easy to revoke specific privileges from users. This is tedious otherwise. OPTIONSThis tool accepts additional command-line arguments. Refer to the "SYNOPSIS" and usage information for details.
DSN OPTIONSThese DSN options are used to create a DSN. Each option is given like "option=value". The options are case-sensitive, so P and p are not the same option. There cannot be whitespace before or after the "=" and if the value contains whitespace it must be quoted. DSN options are comma-separated. See the percona-toolkit manpage for full details.
ENVIRONMENTThe environment variable "PTDEBUG" enables verbose debugging output to STDERR. To enable debugging and capture all output to a file, run the tool like:PTDEBUG=1 pt-show-grants ... > FILE 2>&1 Be careful: debugging output is voluminous and can generate several megabytes of output. SYSTEM REQUIREMENTSYou need Perl, DBI, DBD::mysql, and some core packages that ought to be installed in any reasonably new version of Perl.BUGSFor a list of known bugs, see <http://www.percona.com/bugs/pt-show-grants>.Please report bugs at <https://bugs.launchpad.net/percona-toolkit>. Include the following information in your bug report:
If possible, include debugging output by running the tool with "PTDEBUG"; see "ENVIRONMENT". DOWNLOADINGVisit <http://www.percona.com/software/percona-toolkit/> to download the latest release of Percona Toolkit. Or, get the latest release from the command line:wget percona.com/get/percona-toolkit.tar.gz wget percona.com/get/percona-toolkit.rpm wget percona.com/get/percona-toolkit.deb You can also get individual tools from the latest release: wget percona.com/get/TOOL Replace "TOOL" with the name of any tool. AUTHORSBaron SchwartzABOUT PERCONA TOOLKITThis tool is part of Percona Toolkit, a collection of advanced command-line tools for MySQL developed by Percona. Percona Toolkit was forked from two projects in June, 2011: Maatkit and Aspersa. Those projects were created by Baron Schwartz and primarily developed by him and Daniel Nichter. Visit <http://www.percona.com/software/> to learn about other free, open-source software from Percona.COPYRIGHT, LICENSE, AND WARRANTYThis program is copyright 2011-2018 Percona LLC and/or its affiliates, 2007-2011 Baron Schwartz.THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2; OR the Perl Artistic License. On UNIX and similar systems, you can issue `man perlgpl' or `man perlartistic' to read these licenses. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. VERSIONpt-show-grants 3.3.1
Visit the GSP FreeBSD Man Page Interface. |