mysqlaccess is a diagnostic tool that Yves
Carlier has provided for the MySQL distribution. It checks the
access privileges for a host name, user name, and database
combination. Note that mysqlaccess checks
access using only the user,
db, and host tables. It
does not check table, column, or routine privileges specified in
the tables_priv,
columns_priv, or
procs_priv tables.
Invoke mysqlaccess like this:
shell> mysqlaccess [host_name [user_name [db_name]]] [options]
mysqlaccess supports the following options.
Table 4.10. mysqlaccess Options
| Format | Option File | Description | Introduction | Deprecated | Removed |
|---|---|---|---|---|---|
| --brief | brief | Generate reports in single-line tabular format | |||
| --commit | commit | Copy the new access privileges from the temporary tables to the original grant tables | |||
| --copy | copy | Reload the temporary grant tables from original ones | |||
| --db=db_name | db | Specify the database name | |||
| --debug=# | debug | Specify the debug level | |||
| --help | Display help message and exit | ||||
| --host=host_name | host | Connect to the MySQL server on the given host | |||
| --howto | howto | Display some examples that show how to use mysqlaccess | |||
| --old_server | old_server | Assume that the server is an old MySQL server (prior to MySQL 3.21) | |||
| --password[=password] | password | The password to use when connecting to the server | |||
| --plan | plan | Display suggestions and ideas for future releases | |||
| --preview | preview | Show the privilege differences after making changes to the temporary grant tables | |||
| --relnotes | relnotes | Display the release notes | |||
| --rhost=host_name | rhost | Connect to the MySQL server on the given host | |||
| --rollback | rollback | Undo the most recent changes to the temporary grant tables. | |||
| --spassword[=password] | spassword | The password to use when connecting to the server as the superuser | |||
| --superuser=user_name | superuser | Specify the user name for connecting as the superuser | |||
| --table | table | Generate reports in table format | |||
| --user=user_name, | user | The MySQL user name to use when connecting | |||
| --version | Display version information and exit |
--help,-?Display a help message and exit.
--brief,-bGenerate reports in single-line tabular format.
Copy the new access privileges from the temporary tables to the original grant tables. The grant tables must be flushed for the new privileges to take effect. (For example, execute a mysqladmin reload command.)
Reload the temporary grant tables from original ones.
--db=,db_name-ddb_nameSpecify the database name.
Specify the debug level.
Ncan be an integer from 0 to 3.--host=,host_name-hhost_nameThe host name to use in the access privileges.
Display some examples that show how to use mysqlaccess.
Assume that the server is an old MySQL server (before MySQL 3.21) that does not yet know how to handle full
WHEREclauses.--password[=,password]-p[password]The password to use when connecting to the server. If you omit the
passwordvalue following the--passwordor-poption on the command line, mysqlaccess prompts for one.Specifying a password on the command line should be considered insecure. See Section 5.3.2.2, “End-User Guidelines for Password Security”.
Display suggestions and ideas for future releases.
Show the privilege differences after making changes to the temporary grant tables.
Display the release notes.
--rhost=,host_name-Hhost_nameConnect to the MySQL server on the given host.
Undo the most recent changes to the temporary grant tables.
--spassword[=,password]-P[password]The password to use when connecting to the server as the superuser. If you omit the
passwordvalue following the--spasswordor-poption on the command line, mysqlaccess prompts for one.Specifying a password on the command line should be considered insecure. See Section 5.3.2.2, “End-User Guidelines for Password Security”.
--superuser=,user_name-Uuser_nameSpecify the user name for connecting as the superuser.
--table,-tGenerate reports in table format.
--user=,user_name-uuser_nameThe user name to use in the access privileges.
--version,-vDisplay version information and exit.
If your MySQL distribution is installed in some nonstandard
location, you must change the location where
mysqlaccess expects to find the
mysql client. Edit the
mysqlaccess script at approximately line
18. Search for a line that looks like this:
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
Change the path to reflect the location where
mysql actually is stored on your system. If
you do not do this, a Broken pipe error will
occur when you run mysqlaccess.