Documentation Home
MySQL 5.6 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 28.9Mb
PDF (A4) - 28.9Mb
PDF (RPM) - 27.9Mb
HTML Download (TGZ) - 7.0Mb
HTML Download (Zip) - 7.1Mb
HTML Download (RPM) - 6.1Mb
Man Pages (TGZ) - 180.3Kb
Man Pages (Zip) - 290.2Kb
Info (Gzip) - 2.8Mb
Info (Zip) - 2.8Mb
Excerpts from this Manual

MySQL 5.6 Reference Manual  /  ...  /  mysqlaccess — Client for Checking Access Privileges

4.6.7 mysqlaccess — Client for Checking Access Privileges

Note

This utility is deprecated in MySQL 5.6.17 and removed in MySQL 5.7

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. mysqlaccess checks access using only the user and db 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]

When mysqlaccess runs, it loads and executes the contents of its configuration file, mysqlaccess.conf. mysqlaccess looks for the configuration file in these locations, in order:

  • The directory named by the SYSCONFDIR option to CMake when MySQL was built. By default, this is the etc directory located under the compiled-in installation directory.

  • The /etc directory.

mysqlaccess supports the options shown in the following table.

Table 4.19 mysqlaccess Options

Option Name Description
--brief Generate reports in single-line tabular format
--commit Copy the new access privileges from the temporary tables to the original grant tables
--copy Reload the temporary grant tables from original ones
--db Specify the database name
--debug Specify the debug level
--help Display help message and exit
--host Host on which MySQL server is located
--howto Display some examples that show how to use mysqlaccess
--old_server Assume that the server is an old MySQL server (prior to MySQL 3.21)
--password Password to use when connecting to server
--plan Display suggestions and ideas for future releases
--preview Show the privilege differences after making changes to the temporary grant tables
--relnotes Display release notes
--rhost Host on which MySQL server is located
--rollback Undo the most recent changes to the temporary grant tables
--spassword Password to use when connecting to server as the superuser
--superuser Specify the user name for connecting as the superuser
--table Generate reports in table format
--user MySQL user name to use when connecting to server
--version Display version information and exit

  • --help, -?

    Display a help message and exit.

  • --brief, -b

    Generate reports in single-line tabular format.

  • --commit

    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.)

  • --copy

    Reload the temporary grant tables from original ones.

  • --db=db_name, -d db_name

    Specify the database name.

  • --debug=N

    Specify the debug level. N can be an integer from 0 to 3.

    This option is available only if MySQL was built using WITH_DEBUG. MySQL release binaries provided by Oracle are not built using this option.

  • --host=host_name, -h host_name

    The host name to use in the access privileges.

  • --howto

    Display some examples that show how to use mysqlaccess.

  • --old_server

    Assume that the server is an old MySQL server (before MySQL 3.21) that does not yet know how to handle full WHERE clauses.

  • --password[=password], -p[password]

    The password to use when connecting to the server. If you omit the password value following the --password or -p option on the command line, mysqlaccess prompts for one.

    Specifying a password on the command line should be considered insecure. See Section 6.1.2.1, “End-User Guidelines for Password Security”.

  • --plan

    Display suggestions and ideas for future releases.

  • --preview

    Show the privilege differences after making changes to the temporary grant tables.

  • --relnotes

    Display the release notes.

  • --rhost=host_name, -H host_name

    Connect to the MySQL server on the given host.

  • --rollback

    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 password value following the --spassword or -p option on the command line, mysqlaccess prompts for one.

    Specifying a password on the command line should be considered insecure. See Section 6.1.2.1, “End-User Guidelines for Password Security”.

  • --superuser=user_name, -U user_name

    Specify the user name for connecting as the superuser.

  • --table, -t

    Generate reports in table format.

  • --user=user_name, -u user_name

    The user name to use in the access privileges.

  • --version, -v

    Display 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.