# MySQL

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2Fmm2n9T7QkJJW8NA4fHjw%2Fimage.png?alt=media&#x26;token=9f8c1a33-02ef-4591-bd48-18caed57d5d4" alt=""><figcaption></figcaption></figure>

### 概要 <a href="#id-.sshv2.x-overview" id="id-.sshv2.x-overview"></a>

KeeperコネクションマネージャーのMySQL実装では、MySQLクライアントライブラリと、ユーザーインターフェースを表示する内部ターミナルライブラリを利用しています。GuacamoleのMySQLサポートはサーバー側で端末をエミュレートし、この端末の画面をリモートのクライアントに表示します。

本ページでは、サポート対象パラメータをウェブインターフェース内と同じ方法でグループ化して網羅することを意図しています。ウェブインターフェースに表示されるフィールド見出しは、パラメータごとに表示され、各パラメータの内部名、そのパラメータの動作の詳細な説明と適正値も一緒に記載しています。

* [Keeperシークレットマネージャーのパラメータ](#id-.rdpv2.x-networkparameters)
* [ネットワークパラメータ](#id-.sshv2.x-networkparameters)
* [認証パラメータ](#id-.sshv2.x-authenticationparameters)
* [データベースパラメータ](#id-.sshv2.x-displaysettings)
* [ディスプレイ設定](#id-.sshv2.x-displaysettings)
  * [カスタムカラースキーム](#id-.sshv2.x-displaysettings)
* [クリップボードのパラメータ](#id-.sshv2.x-clipboardparameters)
* [テキストセッションの記録 (タイプスクリプト)](#id-.sshv2.x-textsessionrecording-typescripts)
* [画面記録パラメータ](#id-.sshv2.x-screenrecordingparameters)

### Keeperシークレットマネージャーのパラメータ <a href="#id-.rdpv2.x-networkparameters" id="id-.rdpv2.x-networkparameters"></a>

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FJIuAgkQuK0aJhz3Rs1WJ%2Fimage.png?alt=media&#x26;token=d31c2b64-8fa7-450f-b4a8-9fd30e3c863f" alt=""><figcaption></figcaption></figure>

| フィールド見出し         | パラメータ名                    | 説明                                                                                                                                                                                                               |
| ---------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ユーザー提供のKSM設定を許可: | `ksm-user-config-enabled` | 「true」に設定すると、Keeperコネクションマネージャーの各ユーザープロファイルを任意の接続のKeeperシークレットマネージャー設定に割り当てることができます。詳細は、[複数ボルトの連携](https://docs.keeper.io/jp/keeper-connection-manager/vault-integration/multiple-vaults-integration)画面をご参照ください。 |

### ネットワークパラメータ <a href="#id-.sshv2.x-networkparameters" id="id-.sshv2.x-networkparameters"></a>

MySQL接続は、TCPを使用して特定のポートと特定のホスト名またはIPアドレスに対して確立されます。**すべてのMySQL接続にホスト名またはアドレスを指定する必要があります**が、ポートを指定する必要があるのは、標準のMySQLポート (3306) を使用していない場合だけです。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2F8Dn5fIMZiIwQdvthTaa8%2Fimage.png?alt=media&#x26;token=babe6f6f-a085-4a22-86b9-6fd02c4ae0a0" alt=""><figcaption></figcaption></figure>

| フィールド見出し (ウェブインターフェース) | パラメータ名        | 説明                                                                   |
| ---------------------- | ------------- | -------------------------------------------------------------------- |
| ホスト名                   | `hostname`    | **必須**: Guacamoleが接続するMySQLサーバーのホスト名またはIPアドレス。                       |
| ポート                    | `port`        | MySQLサーバーの待ち受けポート。デフォルトでは、標準のMySQLポート3306が使用されます。                    |
| UNIXソケット               | `unix-socket` | unixソケットメソッドを使用して実行する場合にMySQL接続に使用されるソケット名。これは、ホストフィールドが空の場合に使用されます。 |

### 認証パラメータ <a href="#id-.sshv2.x-authenticationparameters" id="id-.sshv2.x-authenticationparameters"></a>

Keeperシークレットマネージャーは、ユーザー名とパスワードのパラメータを使用したMySQL認証をサポートしています。接続を確立するには、両方のフィールドが必要です。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FYF0bEAcfVHeFhYnXdtTH%2Fimage.png?alt=media&#x26;token=6bd4f117-2033-4ab9-8b76-38b7a56e64e2" alt=""><figcaption><p>認証パラメータ</p></figcaption></figure>

| フィールド見出し (ウェブインターフェース) | パラメータ名     | 説明                                          |
| ---------------------- | ---------- | ------------------------------------------- |
| ユーザー名                  | `username` | **必須**: 指定したMySQLサーバーに接続する場合と同様に、認証するユーザー名。 |
| パスワード                  | `password` | **必須**: 指定したMySQLサーバーで認証する場合に使用するパスワード。     |

### データベースパラメータ <a href="#id-.sshv2.x-displaysettings" id="id-.sshv2.x-displaysettings"></a>

接続の確立時にデフォルトのデータベースを指定できます。データをCSVでインポートおよびエクスポートする機能を無効にすることもできます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FmhKyVqlRMWaoKFbrFhJn%2Fimage.png?alt=media&#x26;token=aedeb3e6-d740-4ef8-9414-942fb814b8a8" alt=""><figcaption></figcaption></figure>

| フィールド見出し (ウェブインターフェース) | パラメータ名               | 説明                                                                                         |
| ---------------------- | -------------------- | ------------------------------------------------------------------------------------------ |
| デフォルトデータベース            | `database`           | 指定したMySQLサーバーに接続するときに選択するデータベーススキーマ。                                                       |
| CSVエクスポートの無効化          | `disable-csv-export` | SQL文「select ... into local outfile」を使用する場合に、データのCSVエクスポートを無効にするには、この値を「true」に設定します。        |
| CSVインポートの無効化           | `disable-csv-import` | SQL文「load data local infile ... into table」を使用する場合に、データのCSVインポートを無効にするには、この値を「true」に設定します。 |

### ディスプレイ設定 <a href="#id-.sshv2.x-displaysettings" id="id-.sshv2.x-displaysettings"></a>

GuacamoleのMySQLサポートはディスプレイを転送しますが、VNCやRDPのようなリモートデスクトッププロトコルと同じ感覚ではありません。ディスプレイはターミナルエミュレータであるため、使用するフォントとそのサイズを設定するためのオプションが用意されています。

{% hint style="danger" %}
MySQL接続で別のフォントを選択する場合は、**選択したフォントがguacdを実行しているサーバーにインストールされている必要があります**。端末のディスプレイへの文字のレンダリングを処理するのは、クライアントではなくサーバーとなります。
{% endhint %}

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FrKPSWUzfhids8d6vUWpg%2Fimage.png?alt=media&#x26;token=2d95da35-090b-4bb2-a283-637b95e26acc" alt=""><figcaption><p>ディスプレイ設定</p></figcaption></figure>

| フィールド見出し (ウェブインターフェース) | パラメータ名         | 説明                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| テーマ                    | `color-scheme` | <p>SSH接続で使用されるターミナルエミュレータに使用するカラースキーム。各カラースキームによって、端末のデフォルトの前景色と背景色が決まります。テキストを表示するときに色を指定するプログラムは、これらの既定値を上書きします。適正値は以下のとおりです。</p><ul><li>「<code>black-white</code>」- 白地に黒色のテキスト</li><li>\[<code>gray-black</code>」- 黒地に灰色のテキスト（デフォルト）</li><li>「<code>green-black</code>」- 黒地に緑色のテキスト</li><li>「<code>white-black</code>」- 黒地に白色のテキスト</li><li><a href="#id-.sshv2.x-displaysettings">カスタムカラースキーム</a> (後述)</li></ul><p>デフォルトでは、Guacamoleは黒地に灰色でテキストをレンダリングします。</p> |
| フォント名                  | `font-name`    | 使用するフォントの名前。指定しない場合は、デフォルトの「monospace」が代わりに使用されます。**これは、guacdを実行しているサーバーにインストールされているフォントの名前であることが必要で、等幅フォントでなければなりません。**&#x7B49;幅フォント以外を使用すると、個々のグリフが正しく表示されないことがあります。                                                                                                                                                                                                                                                                                            |
| フォントサイズ                | `font-size`    | 使用するフォントのサイズ (ポイント単位)。既定では、レンダリングされるテキストのサイズは12ポイントになります。                                                                                                                                                                                                                                                                                                                                                                                                         |
| 最大スクロールバックサイズ:         | `scrollback`   | ターミナルスクロールバックバッファ内で許容される最大行数。デフォルトでは、スクロールバックバッファは最大1000行に制限されます。                                                                                                                                                                                                                                                                                                                                                                                                 |
| 読み取り専用:                | `read-only`    | この接続を読み取り専用にするか否か。「true」に設定すると、接続で入力が一切できなくなります。ユーザーは端末 (または端末内で実行されているアプリケーション) を表示することはできますが、操作はできません。                                                                                                                                                                                                                                                                                                                                                          |

#### カスタムカラースキーム <a href="#id-.sshv2.x-custom-color-schemescustomcolorschemes" id="id-.sshv2.x-custom-color-schemescustomcolorschemes"></a>

MySQL接続で使用されるターミナルエミュレータにカスタムカラースキームが付属する場合があります。カスタムスキームは、Xtermとよく似た形式で、セミコロンで区切られた一連の名前と値のペアで構成されます。名前と値のペアはそれぞれコロンで区切られ、ターミナルエミュレータパレットの色に値を割り当てます。

たとえば、デフォルトで白地に青色のテキストを使用し、赤色を紫の色調に変更するには、以下のように指定してください。

```
foreground: rgb:00/00/ff;
background: rgb:ff/ff/ff;
color9: rgb:80/00/80
```

正規の色名は以下のとおりです。

* 「`foreground`」- デフォルトの前景色。
* 「`background`」- デフォルトの背景色。
* 「`colorN`」- Xterm 256色パレット内のインデックスNの色。たとえば、「color9」はパレットインデックス9の色を指し、通常は赤です。

正規の色の値は以下のとおりです。

* 「rgb:RR/GG/BB」- RGB形式の色で、各部は16進数で表されます。たとえば、「`rgb:ff/00/00`」は赤色を指定します。16進数の各部は1桁から4桁までですが、有効値は常にゼロ拡張または2桁に切り捨てられます。たとえば、「`rgb:f/8/0`」、「`rgb:f0/80/00`」、「`rgb:f0f/808/00f`」はすべて同じ有効色を指します。
* 「`colorN`」-Xterm 256色パレット内のインデックスNに現在割り当てられている色。たとえば、「`color9`」は、パレットインデックス9に現在割り当てられている色を指定します。その色への参照ではなく、\_現在の色の値\_が使用されることにご注意ください。カラースキームの設定で後から参照色を変更しても、その新しい色の値はこの割り当てに反映されません。
* 「`NAME`」- 人間が判読できる名前「`NAME`」の付いた色で、「`NAME`」は[X11でサポートされている標準色名](https://gitlab.freedesktop.org/xorg/app/rgb/raw/master/rgb.txt)の1つです。これらの名前は、一般にW3CがCSS用に標準化した名前に対応しています。

### クリップボードのパラメータ <a href="#id-.sshv2.x-clipboardparameters" id="id-.sshv2.x-clipboardparameters"></a>

Guacamoleは、MySQL接続でクリップボードへの双方向アクセスをデフォルトで可能にします。この動作は接続ごとにオーバーライドでき、クリップボードへのアクセスを制限できます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FwtVW3LVe4d5WC31aj9D1%2Fimage.png?alt=media&#x26;token=2b7c6529-b11d-4101-983e-5f3bc84b08cd" alt=""><figcaption><p>クリップボードのパラメータ</p></figcaption></figure>

| フィールド見出し (ウェブインターフェース) | パラメータ名          | 説明                                                                                                                                      |
| ---------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| 端末からのコピーを無効化:          | `disable-copy`  | 「true」に設定すると、MySQLセッション内でコピーされたテキストは、Guacamoleセッションのブラウザ側ではユーザーからアクセスできなくなり、リモートデスクトップ内でのみ使用できるようになります。デフォルトでは、ユーザーはコピーしたテキストにアクセスできます。 |
| クライアントからの貼り付けを無効化:     | `disable-paste` | 「true」に設定すると、Guacamoleセッションのブラウザ側でコピーされたテキストは、MySQLセッション内でアクセスできなくなります。デフォルトでは、ユーザーはMySQLセッション内でブラウザ以外からデータを貼り付けることができます。               |

### テキストセッションの記録 (タイプスクリプト) <a href="#id-.sshv2.x-textsessionrecording-typescripts" id="id-.sshv2.x-textsessionrecording-typescripts"></a>

計時情報を含む、MySQLセッションの生の完全なテキストコンテンツを指定されたディレクトリに自動的に記録できます。この記録は、「タイプスクリプト」とも呼ばれ、指定されたディレクトリ内の2つのファイルに書き込まれます。1つのファイルには生のテキストデータが含まれ、もう1つのファイルには計時情報が含まれます。タイプスクリプト名に付けられた値が「`NAME`」の場合、これらのファイル名はそれぞれ「`NAME`」と「`NAME.timing`」となります。

この形式は、UNIXの標準`script`コマンドで使用される形式と互換性があり、`scriptreplay` (インストールされている場合) を使用して再生できます。たとえば、「`NAME`」というタイプスクリプトを再生するには、以下のように実行してください。

```
$ scriptreplay NAME.timing NAME
```

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FQy16DHNzB7RLnCQdXsJB%2Fimage.png?alt=media&#x26;token=ee7f89d0-4de9-42e4-85e6-a9c0940d51f4" alt=""><figcaption><p>タイプスクリプトの設定</p></figcaption></figure>

| フィールド見出し (ウェブインターフェース) | パラメータ名                   | 説明                                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| タイプスクリプトのパス            | `typescript-path`        | タイプスクリプトファイルを作成するディレクトリ。**タイプスクリプトを記録する必要がある場合は、このパラメータが必要です。**&#x3053;のパラメータを指定すると、タイプスクリプトの記録が有効になります。このパラメータを省略すると、タイプスクリプトは記録されません。                                                                                                                                                                                                                                                                     |
| タイプスクリプト名              | `typescript-name`        | <p>作成されたすべての記録に使用する基本ファイル名。省略すると、基本ファイル名「typescript」が使用されます。</p><p><strong>Guacamoleは既存のタイプスクリプトを上書きしません。</strong>必要に応じて、「.1」、「.2」、「.3」などの数字のサフィックスを基本ファイル名に付加して、既存の記録が上書きされないようにします。数字のサフィックスを付加しても区別できない場合は、タイプスクリプトは記録されず、エラーがログに記録されます。</p><p>このパラメータは、タイプスクリプトの記録が有効になっている場合にのみ機能し、タイプスクリプトのパスを指定することで制御できます。タイプスクリプトのパスが指定されていない場合、タイプスクリプトの記録は有効にならず、このパラメータは無視されます。</p>                             |
| タイプスクリプトのパスを自動作成       | `create-typescript-path` | <p>「true」に設定すると、指定したタイプスクリプトのパスの末尾のディレクトリがまだ存在しない場合、自動的に作成されます。デフォルトでは、タイプスクリプトのパスの一部が自動的に作成されることはなく、存在しないディレクトリを使用しようとすると、タイプスクリプトは記録されず、エラーがログに記録されます。</p><p><strong>自動的に作成されるのは、パス内の末尾のディレクトリのみです。</strong>パスの末尾以外の先頭の方のディレクトリが存在しない場合、タイプスクリプトは記録されず、エラーがログに記録されます。</p><p>このパラメータは、タイプスクリプトの記録が有効になっている場合にのみ機能し、タイプスクリプトのパスを指定することで制御できます。タイプスクリプトのパスが指定されていない場合、タイプスクリプトの記録は有効にならず、このパラメータは無視されます。</p> |

### 画面記録パラメータ <a href="#id-.sshv2.x-screenrecordingparameters" id="id-.sshv2.x-screenrecordingparameters"></a>

MySQLのセッションは画像で記録できます。これらの記録は、Guacamoleプロトコルのダンプ形式を取り、指定したディレクトリに自動的に記録されます。その後、[player.glyptodon.com](https://player.glyptodon.com/)でホストされている[Glyptodon Enterprise Session Recording Playerアプリケーション](https://player.glyptodon.com/)を使用して (またはこのアプリケーションのローカルデプロイを使用して)、記録を再生できます。

このプレーヤーは静的なウェブアプリケーションであり、作成された記録の再生にはJavaScriptのみを使用します。この機能は厳密にローカルで実行され、**記録がリモートサービスにアップロードされて処理されることはありません**。このアプリケーションの独自のデプロイを使用したい場合、またはソースコードを調査したい場合は、[こちら](https://github.com/glyptodon/glyptodon-enterprise-player)のGitHubでGlyptodon Enterprise Session Recording Playerの完全なソースコードとローカルデプロイの手順をご参照ください。

{% hint style="info" %}
Keeperコネクションマネージャーの最新バージョンでは、記録したセッションを画面上で再生できます。詳しくは、[セッションレコーディング](https://docs.keeper.io/jp/keeper-connection-manager/using-keeper-connection-manager/session-recording)のページをご参照ください。
{% endhint %}

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2Fl41QjJT90nICD56ExyEk%2Fimage.png?alt=media&#x26;token=267ef545-c427-4767-89db-94659073bdb1" alt=""><figcaption></figcaption></figure>

| フィールド見出し（Webインターフェース） | パラメータ名                     | 説明                                                                                                                                                                                                                                                                                                                                                                        |
| --------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 記録のパス                 | `recording-path`           | 画面記録ファイルを作成するディレクトリ。**画像記録の作成が必要な場合は、このパラメータが必要です。**&#x3053;のパラメータを指定すると、画像による画面記録が有効になります。このパラメータを省略した場合、画像記録は作成されません。                                                                                                                                                                                                                                                   |
| 記録名                   | `recording-name`           | <p>作成されたすべての記録に使用するファイル名。省略した場合、各記録のファイル名は単に「recording」となります。</p><p><strong>Guacamoleは既存の記録を上書きしません。</strong>必要に応じて、「.1」、「.2」、「.3」などの数字のサフィックスをファイル名に付加して、既存の記録が上書きされないようにします。数字のサフィックスを付加しても区別できない場合は、セッションは記録されず、エラーがログに記録されます。</p><p>このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。</p>                     |
| 画像/ストリームを除外           | `recording-exclude-output` | <p>「true」に設定すると、通常サーバーからクライアントにストリーミングされる画像出力やその他のデータが記録から除外され、ユーザー入力イベントのみを含む記録が生成されます。デフォルトでは、画像出力は記録に含まれます。</p><p>このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。</p>                                                                                                                                        |
| マウスを除外                | `recording-exclude-mouse`  | <p>「true」に設定すると、ユーザーのマウスイベントが記録から除外され、マウスカーソルが表示されない記録が作成されます。デフォルトでは、マウスイベントは記録に含まれます。</p><p>このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。</p>                                                                                                                                                               |
| キーイベントを記録             | `recording-include-keys`   | <p>「true」に設定すると、ユーザーキーイベントが記録に含まれます。その後、記録を<code>guaclog</code> ユーティリティに渡して、セッション中に押されたキーを人間が判読できるように変換できます。<strong>デフォルトでは、プライバシー保護のため、キーイベントは記録に含まれ「ません」。</strong></p><p>このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。</p>                                                                                  |
| 記録のパスを自動作成            | `create-recording-path`    | <p>「true」に設定すると、指定した記録のパスの末尾のディレクトリがまだ存在しない場合、自動的に作成されます。デフォルトでは、記録のパスの一部が自動的に作成されることはなく、存在しないディレクトリを使用しようとすると、セッションは記録されず、エラーがログに記録されます。</p><p><strong>自動的に作成されるのは、パス内の末尾のディレクトリのみです。</strong>パスの末尾以外の先頭の方のディレクトリが存在しない場合、セッションは記録されず、エラーがログに記録されます。</p><p>このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。</p> |
