This utility uses an existing MySQL user account on one server as a template, and clones it to create one or more new user accounts with the same privileges as the original user. The new users can be created on the original server or a different server.
To list users for a server, specify the
--list option. This prints
a list of the users on the source (no destination is needed). To
control how to display list output, use one of the following
values with the
Display output in grid or table format like that of the mysql client command-line tool.
Display output in comma-separated values format.
Display output in tab-separated format.
Display output in single-column format like that of the
\G command for the mysql
client command-line tool.
mysqluserclone accepts the following command-line options:
Display a help message and exit.
Display license information and exit.
Connection information for the destination server in the format: <user>[:<passwd>]@<host>[:<port>][:<socket>] or <login-path>[:<port>][:<socket>].
Display the GRANT
statements to create the account rather than executing them.
In this case, the utility does not connect to the destination
server and no
--destination option is
Specify the user display format. Permitted format values are
vertical. The default is
grid. This option is valid
Drop the new user account if it exists before creating the new account. Without this option, it is an error to try to create an account that already exists.
Include privileges that match
as well as
List all users on the source server. With this option, a destination server need not be specified.
Turn off all messages for quiet execution.
Connection information for the source server in the format: <user>[:<passwd>]@<host>[:<port>][:<socket>]or <login-path>[:<port>][:<socket>].
Specify how much information to display. Use this option
multiple times to increase the amount of information. For
-v = verbose,
-vvv = debug.
Display version information and exit.
You must provide connection parameters (user, host, password, and so forth) for an account that has the appropriate privileges to access all objects in the operation.
The account used to connect to the source server must have privileges to read the mysql database.
The account used to connect to the destination server must have
privileges to execute CREATE
USER (and DROP USER
--force option is
given), and privileges to execute
GRANT for all privileges to be
granted to the new accounts.
the permitted values are not case sensitive. In addition, values
may be specified as any unambiguous prefix of a valid value. For
specifies the grid format. An error occurs if a prefix matches
more than one valid value.
The path to the MySQL client tools should be included in the PATH environment variable in order to use the authentication mechanism with login-paths. This will allow the utility to use the my_print_defaults tools which is required to read the login-path values from the login configuration file (.mylogin.cnf).
sally with passwords and logging in as
root on the local machine, use this command:
mysqluserclone --source=root@localhost \
joe@localhost sam:secret1@localhost sally:secret2@localhost# Source on localhost: ... connected. # Destination on localhost: ... connected. # Cloning 2 users... # Cloning joe@localhost to user sam:secret1@localhost # Cloning joe@localhost to user sally:secret2@localhost # ...done.
The following command shows all users on the local server in the most verbose output in CSV format:
mysqluserclone --source=root@localhost --list --format=csv -vvv# Source on localhost: ... connected. user,host,database joe,localhost,util_test rpl,localhost, sally,localhost,util_test sam,localhost,util_test joe,user,util_test
The permissions required include the ability to read the mysql database and to have read access to the data directory.