このユーティリティーは MySQL 5.6.17 で非推奨で、MySQL 5.7 で削除されます。
mysqlaccess は MySQL 配布のために Yves Carlier が提供した診断ツールです。ホスト名、ユーザー名、およびデータベースの組み合わせに対してアクセス権限をチェックします。mysqlaccess は user
テーブルおよび db
テーブルのみを使用してアクセスをチェックすることに注意してください。tables_priv
、columns_priv
、および procs_priv
の各テーブルで指定されるテーブル、カラム、そしてルーチンの権限はチェックしません。
mysqlaccess は次のように起動します。
shell> mysqlaccess [host_name [user_name [db_name]]] [options]
mysqlaccess は次のオプションをサポートします。
表 4.14 mysqlaccess のオプション
オプション名 | 説明 |
---|---|
--brief | 1 行の表形式でレポートを生成 |
--commit | 一時テーブルから元の付与テーブルへ新しいアクセス権限をコピー |
--copy | 元の付与テーブルから一時付与テーブルをリロード |
--db | データベース名を指定 |
--debug | デバッグレベルを指定 |
--help | ヘルプメッセージを表示して終了 |
--host | 指定されたホスト上で MySQL サーバーに接続 |
--howto | mysqlaccess の使用方法を示す例を表示 |
--old_server | サーバーが古い MySQL サーバーであるとみなす (MySQL 3.21 より前) |
--password | サーバーに接続する際に使用するパスワード |
--plan | 将来のリリースのためのアイデアや提案を表示 |
--preview | 一時付与テーブルに変更を加えたあと、権限の差異を表示 |
--relnotes | リリースノートを表示 |
--rhost | 指定されたホスト上で MySQL サーバーに接続 |
--rollback | 一時付与テーブルへの直近の変更を取り消し。 |
--spassword | スーパーユーザーとしてサーバーに接続する際に使用するパスワード |
--superuser | スーパーユーザーとして接続するためのユーザー名を指定 |
--table | 表形式でレポートを生成 |
--user | サーバーへの接続時に使用する MySQL ユーザー名 |
--version | バージョン情報を表示して終了 |
-
ヘルプメッセージを表示して終了します。
-
1 行の表形式でレポートを生成します。
-
一時テーブルから元の付与テーブルへ新しいアクセス権限をコピーします。新しい権限が有効になるには、付与テーブルをフラッシュする必要があります。(たとえば、mysqladmin reload コマンドを実行します。)
-
元の付与テーブルから一時付与テーブルをリロードします。
-
データベース名を指定します。
-
デバッグレベルを指定します。
N
は 0 から 3 までの整数です。 -
--host=
,host_name
-h
host_name
アクセス権限で使用するホスト名。
-
mysqlaccess の使用方法を示す例を表示します。
-
サーバーが、完全な
WHERE
句の処理方法を理解していない古い (MySQL 3.21 より前の) MySQL サーバーであるとみなします。 -
--password[=
,password
]-p[
password
]サーバーに接続する際に使用するパスワードです。コマンド行で、
--password
オプションまたは-p
オプションに続けてpassword
の値を指定しなかった場合、mysqlaccess はそれを要求します。コマンド行でパスワードを指定することはセキュアでないとみなすべきです。セクション6.1.2.1「パスワードセキュリティーのためのエンドユーザーガイドライン」を参照してください。
-
将来のリリースのためのアイデアや提案を表示します。
-
一時付与テーブルに変更を加えたあと、権限の差異を表示します。
-
リリースノートを表示します。
-
--rhost=
,host_name
-H
host_name
指定されたホストの MySQL サーバーに接続します。
-
一時付与テーブルへの直近の変更を取り消し。
-
--spassword[=
,password
]-P[
password
]スーパーユーザーとしてサーバーに接続する際に使用するパスワード。コマンド行で、
--spassword
オプションまたは-p
オプションに続けてpassword
の値を指定しなかった場合、mysqlaccess はそれを要求します。コマンド行でパスワードを指定することはセキュアでないとみなすべきです。セクション6.1.2.1「パスワードセキュリティーのためのエンドユーザーガイドライン」を参照してください。
-
--superuser=
,user_name
-U
user_name
スーパーユーザーとして接続するためのユーザー名を指定します。
-
表形式でレポートを生成します。
-
--user=
,user_name
-u
user_name
アクセス権限で使用するユーザー名。
-
バージョン情報を表示して終了します。
MySQL 配布が標準以外の場所にインストールされている場合は、mysqlaccess が mysql クライアントを検出することを想定する場所を変更する必要があります。mysqlaccess
スクリプトの約 18 行目を編集します。次のような行を検索します。
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
ユーザーのシステムで mysql が実際に保存されている場所を反映するように、パスを変更します。これを実行しないと、mysqlaccess を起動したときに Broken pipe
エラーが発生します。