設定

設定可能なデータは、ほとんどが phpMyAdmin の最上位ディレクトリの config.inc.php にあります。このファイルが存在しない場合は、 インストール の節を参照して作成してください。このファイルには、 libraries/config.default.php の対応する既定値から変更したい引数のみ入れておく必要があります (このファイルは変更するためのものではありません)。

参考

設定例 に設定の例があります

ある設定項目がファイルにない場合は、そのファイルにもう一行追加してください。このファイルは既定値を上書きするためのものです。デフォルト値を使いたい場合は、ここに行を追加する必要はありません。

デザイン関係の引数 (色など) は themes/themename/scss/_variables.scss にあります。また、 config.footer.inc.phpconfig.header.inc.php ファイルを修正すれば各ページの先頭と末尾にページ固有のコードを追加できます。

注釈

一部のディストリビューション (例えば Debian や Ubuntu) では、 config.inc.php が phpMyAdmin のソース内ではなく /etc/phpmyadmin にあります。

基本設定

$cfg['PmaAbsoluteUri']
Type:文字列型
Default value:''

バージョン 4.6.5 で変更: この設定は phpMyAdmin 4.6.0 - 4.6.4 では利用できません。

ここには、phpMyAdmin がインストールされているディレクトリの完全な URL を (フルパスで) 設定します。例えば https://www.example.net/path_to_your_phpMyAdmin_directory/ などです。なお、多くのウェブサーバでは (Windows であっても) この URL の大文字小文字を区別します。末尾のスラッシュを忘れないようにしてください。

バージョン 2.3.0 からはここを空欄にすることが推奨されています。たいていの場合、phpMyAdmin は自動的に適切な設定を検出します。ポート転送をしているユーザはこれをを設定する必要があるでしょう。

試しに、テーブルを表示して、行を編集して保存してみてください。 phpMyAdmin が正しい値を自動検出できていない場合はエラーメッセージが表示されるはずです。この値を設定してくださいというエラーが出る、あるいは自動検出コードがパスの検出に失敗する場合は、開発陣がコードを改善できるよう、バグレポートをバグトラッカーにお送りください。

$cfg['PmaNoRelation_DisableWarning']
Type:論理型
Default value:false

バージョン 2.3.0 以降、マスタ/外部テーブルを操作する機能が多数提供されています ($cfg['Servers'][$i]['pmadb'] 参照)。

そのマスタ/外部データベースをセットアップしてみてもうまくいかない場合、その機能を利用したいデータベースの 構造 ページを見れば、無効になっている理由を分析するリンクが見つかるはずです。

そういった機能を使いたくない場合は、この変数を true に設定しておけばメッセージが表示されなくなります。

$cfg['AuthLog']
Type:文字列型
Default value:'auto'

バージョン 4.8.0 で追加: phpMyAdmin 4.8.0 以降で対応しています。

認証ログの記録先を設定します。認証に失敗した (あるいはすべて、 $cfg['AuthLogSuccess'] に依存する) 認証の試みは、この設定項目に従ってログに記録されます。

auto
phpMyAdmin に自動的に syslogphp を選択させます。
syslog
syslog を使用してログを記録し、 AUTH 機能を使用すると、ほとんどのシステムで /var/log/auth.log になります。
php
PHP エラーログにログ出力します。
sapi
PHP の SAPI ログにログ出力します。
/path/to/file
それ以外の値はファイル名として扱われ、ログ項目はそこに書き込まれます。

注釈

ファイルにログを記録する際には、ウェブサーバのユーザ向けにパーミッションを正しく設定していることを確認し、設定が $cfg['TempDir'] に記述されている指示と合っている必要があります。

$cfg['AuthLogSuccess']
Type:論理型
Default value:false

バージョン 4.8.0 で追加: phpMyAdmin 4.8.0 以降で対応しています。

認証の成功を $cfg['AuthLog'] に記録するかどうか。

$cfg['SuhosinDisableWarning']
Type:論理型
Default value:false

Suhosin が検出された場合、警告をメインページに表示します。

この引数を true に設定することで、メッセージの表示を止めることができます。

$cfg['LoginCookieValidityDisableWarning']
Type:論理型
Default value:false

PHP のパラメータ session.gc_maxlifetime が phpMyAdmin で設定したクッキーの有効期限よりも短い場合、メインページに警告が表示されます。

この引数を true に設定することで、メッセージの表示を止めることができます。

$cfg['ServerLibraryDifference_DisableWarning']
Type:論理型
Default value:false

バージョン 4.7.0 で非推奨: この設定は警告が削除されたので削除しました。

MySQL ライブラリとサーバのバージョンが異なる場合、メインページに警告が表示されます。

この引数を true に設定することで、メッセージの表示を止めることができます。

$cfg['ReservedWordDisableWarning']
Type:論理型
Default value:false

この警告は、1つ以上のカラム名が MySQL の予約語と一致した場合に、テーブルの構造ページに表示されます。

この警告を消したい場合は、 true に設定すると警告が表示されなくなります。

$cfg['TranslationWarningThreshold']
Type:整数型
Default value:80

指定されたしきい値に達していない不完全な翻訳に対して警告を表示します。

$cfg['SendErrorReports']
Type:文字列型
Default value:'ask'

JavaScript エラー報告の既定の動作を設定します。

JavaScript の実行中にエラーが検出されるたび、ユーザが同意すれば、エラーレポートが phpMyAdmin チームに送信されることがあります。

デフォルトの設定では 'ask' は新しいエラー報告があるたびにユーザに確認を求めます。しかし、このパラメータを 'always' に設定すると確認を求めずにエラーレポートを送信することができますし、 'never' に設定するとエラーレポートを送信しません。

この設定項目は、設定ファイルとユーザ設定の両方で利用できます。マルチユーザインストールの責任者がこの機能をすべてのユーザに対して無効にしたい場合は、 'never' を設定し、 $cfg['UserprefsDisallow'] 設定項目の配列の値の一つに 'SendErrorReports' を含める必要があります。

$cfg['ConsoleEnterExecutes']
Type:論理型
Default value:false

これを true に設定すると、ユーザが Ctrl+Enter の代わりに Enter キーを押すことでクエリを実行できるようになります。改行は Shift+Enter で挿入することができます。

コンソールの動作は、コンソールの設定インタフェースを使用して一時的に変更することができます。

$cfg['AllowThirdPartyFraming']
Type:論理型|文字列型
Default value:false

これを true に設定すると、 phpMyAdmin をフレーム内に表示することを許可しますが、クロスフレームスクリプト攻撃やクリックジャックを可能にする潜在的なセキュリティホールにもなりえます。これを 'sameorigin' に設定すると、他の文書であれば文書が同じドメインのものであっても、 phpMyAdmin をフレーム内に表示することを防止します。

サーバ接続設定

$cfg['Servers']
Type:配列型
Default value:以下に示すような設定のサーバの配列

バージョン 1.4.2 以降、phpMyAdmin は複数の MySQL サーバを管理できるようになっています。そのために追加されたのが $cfg['Servers'] 配列です。ここにはさまざまなサーバへのログイン情報が格納されます。例えば、最初の $cfg['Servers'][$i]['host'] には最初のサーバのホスト名が、2 番目の $cfg['Servers'][$i]['host'] には 2 番目のサーバのホスト名が入ります。 libraries/config.default.php には 1 つしかサーバ定義がありませんが、 config.inc.php にはいくつでも定義を追加できますので、ブロックや必要な部分をコピーしいてください (すべての設定を定義する必要はありません。必要な部分のみ変更してください)。

注釈

$cfg['Servers'] の配列は $cfg['Servers'][1] から始まります。 cfg['Servers'][0] は使用しないでください。複数のサーバが必要な場合は、以下の部分を何度かコピーしてください ($iのインクリメントを含む)。サーバの配列を完全に定義する必要はなく、変更したい値を定義するだけです。

$cfg['Servers'][$i]['host']
Type:文字列型
Default value:'localhost'

$i 番目の MySQL サーバのホスト名または IP アドレスが入ります。 例えば localhost です。

可能な値は次の通りです。

  • ホスト名、例えば 'localhost''mydb.example.org'
  • IP アドレス、例えば '127.0.0.1''192.168.10.1'
  • IPv6 アドレス、例えば 2001:cdba:0000:0000:0000:0000:3257:9652
  • ドット - '.'、例えば、 Windows システムで名前付きパイプを使用
  • 空文字列 - ''、このサーバを無効にする

注釈

ホスト名 localhost は MySQL によって特別に扱われ、ソケットベースの接続プロトコルを使用します。 TCP/IP ネットワークを利用するには、 127.0.0.0.1db.example.com などの IP アドレスやホスト名を使用してください。ソケットへのパスは $cfg['Servers'][$i]['socket'] で設定できます。

$cfg['Servers'][$i]['port']
Type:文字列型
Default value:''

$i 番目の MySQL サーバのポート番号。デフォルトは 3306 (空白のまま)。

注釈

ホスト名を localhost にすると、 MySQL はポート番号を無視してソケット接続しますので、デフォルトとは別のポートで接続したい場合は 127.0.0.1 または実際のホスト名を $cfg['Servers'][$i]['host'] に記入してください。

$cfg['Servers'][$i]['socket']
Type:文字列型
Default value:''

適切にソケットを使用するには、MySQL の設定などを確認してください。 mysql コマンドラインクライアントを使用して、 status コマンドの発行してください。その結果の中に、ソケットが使われているかが表示されます。

注釈

$cfg['Servers'][$i]['host']localhost に設定されているときのみ効果があります。

$cfg['Servers'][$i]['ssl']
Type:論理型
Default value:false

phpMyAdmin とMySQL サーバとの間の接続を安全にするために SSL を有効にするかどうか。

'mysql' 拡張モジュールを使用している場合、残りの 'ssl...' 設定オプションはどれも適用されません。

このオプションを使う場合は 'mysqli' 拡張モジュールを使うことを強くお勧めします。

$cfg['Servers'][$i]['ssl_key']
Type:文字列型
Default value:NULL

MySQL サーバへの接続に SSL を使用する場合のクライアントキーファイルへのパス。これは、サーバに対してクライアントを認証するために使用されます。

例:

$cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/server-key.pem';
$cfg['Servers'][$i]['ssl_cert']
Type:文字列型
Default value:NULL

MySQL サーバへ SSL で接続する際のクライアント資格情報ファイルへのパス。これはクライアントからサーバへ認証する際に使用されます。

$cfg['Servers'][$i]['ssl_ca']
Type:文字列型
Default value:NULL

MySQL サーバへの接続に SSL を使用する場合の CA ファイルへのパス。

$cfg['Servers'][$i]['ssl_ca_path']
Type:文字列型
Default value:NULL

PEM 形式の信頼できる SSL CA 証明書を含むディレクトリ。

$cfg['Servers'][$i]['ssl_ciphers']
Type:文字列型
Default value:NULL

MySQL サーバに対する SSL 接続で利用できる暗号のリスト。

$cfg['Servers'][$i]['ssl_verify']
Type:論理型
Default value:true

バージョン 4.6.0 で追加: phpMyAdmin 4.6.0 以降で対応しています。

PHP のインストールで MySQL ネイティブドライバ (mysqlnd) を使用している場合、 MySQL サーバは 5.6 以降であり、SSL 証明書が自己署名されている場合、検証のために SSL 接続が失敗する可能性があります。これを false に設定すると、検証チェックが無効になります。

PHP 5.6.0 以降では、サーバ名が証明書の CN と一致するかどうかも確認されます。現在、完全な SSL 検証を無効にせずに、このチェックを無効にする方法はありません。

警告

証明書の検証を無効にすると、 SSL を使用する目的が無効になります。これにより、接続は中間攻撃者に対して脆弱になります。

注釈

このフラグは PHP 5.6.16 以降でのみ有効です。

$cfg['Servers'][$i]['connect_type']
Type:文字列型
Default value:'tcp'

バージョン 4.7.0 で非推奨: この設定は 4.7.0 以降では使用されなくなりました。 MySQL はホスト名に基づいて接続種別を決定するため、想定外の結果を導く可能性があるためです。代わりに、 $cfg['Servers'][$i]['host'] を設定してください。

MySQL サーバで利用する接続タイプが入ります。選択肢は 'socket''tcp' です。デフォルトが tcp になっているのは、どんな MySQL サーバでもほぼ確実に利用できるためです。ソケットの方はプラットフォームによっては対応していません。

$cfg['Servers'][$i]['compress']
Type:論理型
Default value:false

MySQL サーバとの接続に圧縮プロトコルを使うかどうかが入ります(実験段階です)。

$cfg['Servers'][$i]['controlhost']
Type:文字列型
Default value:''

指定すると、phpMyAdmin 環境保管領域に対して代替ホストが使えるようになります。

$cfg['Servers'][$i]['controlport']
Type:文字列型
Default value:''

環境保管領域を保持するホストに別なポートを使用して接続することを許可します。

$cfg['Servers'][$i]['controluser']
Type:文字列型
Default value:''
$cfg['Servers'][$i]['controlpass']
Type:文字列型
Default value:''

この特殊なアカウントは、 phpMyAdmin 環境保管領域 にアクセスするために使用されます。単一のユーザの場合は必要ありませんが、 phpMyAdmin が共有されている場合は、このユーザにのみ phpMyAdmin 環境保管領域 へのアクセス権を与え、それを使用するように phpMyAdmin を設定することをお勧めします。すべてのユーザが phpMyAdmin 環境保管領域 に直接アクセスすることなく、機能が使用できるようになります。

バージョン 2.2.5 で変更: 以前は stduser および stdpass と呼ばれていました

$cfg['Servers'][$i]['control_*']
Type:混合型

バージョン 4.7.0 で追加.

接頭辞 control_ のついた設定を使用すると、制御リンク (phpMyAdmin 環境保管領域 へのアクセスに使用) の MySQL 接続設定を変更できます。

これを使用することで、デフォルトでユーザと同じ引数を使用する制御接続の任意の側面を変更できます。

例えば、制御接続用に SSL を設定できます。

// Enable SSL
$cfg['Servers'][$i]['control_ssl'] = true;
// Client secret key
$cfg['Servers'][$i]['control_ssl_key'] = '../client-key.pem';
// Client certificate
$cfg['Servers'][$i]['control_ssl_cert'] = '../client-cert.pem';
// Server certification authority
$cfg['Servers'][$i]['control_ssl_ca'] = '../server-ca.pem';
$cfg['Servers'][$i]['auth_type']
Type:文字列型
Default value:'cookie'

このサーバで認証するのに config、 cookie、 HTTP、サインオンのいずれを使用するか。

  • 'config' 認証 ($auth_type = 'config') は従来からの方法です。ユーザ名とパスワードは config.inc.php に保存されます。
  • 'cookie' 認証モード ($auth_type = 'cookie') では、クッキーによって有効な MySQL ユーザとしてログインできます。
  • 'http' 認証では、 HTTP-Auth によって有効な MySQL ユーザとしてログインできます。
  • 'signon' 認証モード ($auth_type = 'signon') では、あらかじめ準備された PHP セッションデータまたは提要された PHP スクリプトを使用してログインできます。
$cfg['Servers'][$i]['auth_http_realm']
Type:文字列型
Default value:''

auth_type = http を使用した場合、この項目で、ユーザに表示される HTTP の Basic 認証の領域名を定義することができます。設定で明示的に指定されていない場合には、 "phpMyAdmin " と $cfg['Servers'][$i]['verbose'] または $cfg['Servers'][$i]['host'] のいずれかを組み合わせた文字列が使用されます。

$cfg['Servers'][$i]['user']
Type:文字列型
Default value:'root'
$cfg['Servers'][$i]['password']
Type:文字列型
Default value:''

$cfg['Servers'][$i]['auth_type'] が 'config' に設定されている場合は、 MySQL サーバに接続するときに phpMyAdmin が利用するユーザ名/パスワードの組が入ります。このユーザ名/パスワードの組は、 HTTP またはクッキー認証を利用する場合は必要ありませんので、空欄にしておいてください。

$cfg['Servers'][$i]['nopassword']
Type:論理型
Default value:false

バージョン 4.7.0 で非推奨: この設定は予期しない結果を生み出す可能性があるため、削除されました。

パスワードを使用してログインが失敗したときにパスワードなしでログインしようとするとを許可します。これは、HTTP 認証と一緒に使用することができます。MySQL に接続する手段の一つとして、ユーザ名と空のパスワードを使用して認証を行います。パスワードログインを行わないというわけではなく、パスワードログインが最初に試され、最後の手段としてパスワードなし方式が試されます。

$cfg['Servers'][$i]['only_db']
Type:文字列型または配列型
Default value:''

データベース名 (の配列) を設定すると、ユーザにはそのデータベースしか見えなくなります。phpMyAdmin 2.2.1 以降、このデータベース名には MySQL のワイルドカード文字 ("_" と "%") を含めることができます。ワイルドカード文字を実際の文字として使う場合はエスケープしてください (すなわち 'my_db' ではなく、 'my\_db' のようにします)。

この設定はサーバの負荷を下げるのに効果的です。利用できるデータベースのリストを作成する際に MySQL にリクエストを送る必要がなくなるためです。ただし、 これは MySQL データベースサーバの権限の規則に代わるものではありません。 つまり、設定すればそのデータベースだけが表示されるようになりますが、 ほかのすべてのデータベースが使えなくなるわけではありません。

複数のデータベースを使用した例です。

$cfg['Servers'][$i]['only_db'] = array('db1', 'db2');

バージョン 4.0.0 で変更: 以前のバージョンでは、この設定項目でデータベース名の表示順序を指定できました。

$cfg['Servers'][$i]['hide_db']
Type:文字列型
Default value:''

権限のないユーザからデータベースを隠すための正規表現です。これはリストから見えなくするだけで、ユーザがそれらに (SQL クエリ領域などを使用して) アクセスすることはます。アクセスを制限するには MySQL 権限システムを使用してください。例えば、すべてのデータベースから "a" の文字で始まるデータベースを隠すには、次のようにします。

$cfg['Servers'][$i]['hide_db'] = '^a';

”db1" と "db2" の両方を非表示にするには、次のようにします。

$cfg['Servers'][$i]['hide_db'] = '^(db1|db2)$';

正規表現の詳細は、PHP リファレンスマニュアルの PCRE のパターン構文 の項にあります。

$cfg['Servers'][$i]['verbose']
Type:文字列型
Default value:''

複数のサーバエントリがある場合にのみ有用です。設定しておくと、メインページのプルダウンメニューに、ホスト名ではなく、この文字列が表示されます。例えば、システム上のいくつかのデータベースのみ表示させる場合には便利です。HTTP 認証の場合、 ASCII 文字以外はすべて無視されるかもしれません。

$cfg['Servers'][$i]['extension']
Type:文字列型
Default value:'mysqli'

バージョン 4.2.0 で非推奨: この設定は削除されました。 mysql 拡張モジュールは mysqli 拡張モジュールが利用できない場合にのみ使用されます。 5.0.0 では、 mysqli 拡張モジュールのみが利用できます。

使用する PHP の MySQL 拡張モジュールです (mysql または mysqli)。

すべてのインストールで mysqli を使用することを推奨します。

$cfg['Servers'][$i]['pmadb']
Type:文字列型
Default value:''

phpMyAdmin 環境保管領域を格納するデータベース名が入ります。

このドキュメントの phpMyAdmin 環境保管領域 の節をご覧ください。このテーブル構造の利点や、データベースの簡単な作成法、必要なテーブルが書かれています。

インストールした phpMyAdmin のユーザが 1 人だけの場合は、使用中のデータベースにこれらの特殊なテーブル群を格納することもできます。その場合は使用中のデータベース名を $cfg['Servers'][$i]['pmadb'] に記述してください。複数のユーザの場合は phpMyAdmin 環境保管領域を格納する中心データベース名を設定します。

$cfg['Servers'][$i]['bookmarktable']
Type:文字列型または false
Default value:''

バージョン 2.2.0 以降の phpMyAdmin ではブックマーククエリを利用できます。よく利用するクエリがある場合は便利です。この機能の利用を許可するには、次のようにしてください。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['relation']
Type:文字列型または false
Default value:''

バージョン 2.2.4 以降、専用の「リレーション」テーブルにどのカラムが別のテーブルのキー (外部キー) になっているか記述することができるようになりました。phpMyAdmin は現在この機能を次のような用途で使っています。

キーは数値でも文字でも可です。

この機能を利用できるようにするには、以下のようにします。

  • $cfg['Servers'][$i]['pmadb'] と phpMyAdmin 環境保管領域をセットアップする
  • $cfg['Servers'][$i]['relation'] にリレーションテーブル名を入れる
  • 一般ユーザとして phpMyAdmin を開き、この機能を使いたいそれぞれテーブルで 構造/リレーションビュー/ をクリックして、外部カラムを選択する。

この機能はこの設定を false に設定することで無効にすることができます。

注釈

現在のバージョンでは、 master_dbforeign_db と一致しなければならないことに注意してください。これらのカラムは将来クロスデータベースリレーションを開発するために用意されています。

$cfg['Servers'][$i]['table_info']
Type:文字列型または false
Default value:''

バージョン 2.3.0 以降、対応するキーにカーソルを動かしたときどのカラムをツールチップとして表示するか、専用の 'table_info' テーブルに記述できるようになりました。の設定変数には、この特殊テーブルの名前が保持されます。この機能を許可するには次のようにします。

  • $cfg['Servers'][$i]['pmadb'] と phpMyAdmin 環境保管領域をセットアップする
  • テーブル名を $cfg['Servers'][$i]['table_info'] に入れます。(例: pma__table_info)
  • それから、この機能を利用したいテーブルごとに「構造⇒リレーションビュー⇒表示するカラムの選択」をクリックして、カラムを選択します。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['table_coords']
Type:文字列型または false
Default value:''

デザイナ機能では、ページレイアウトを保存することができます。拡張デザイナメニューの「ページを保存」または「ページを名前を付けて保存」ボタンを押すことで、レイアウトをカスタマイズし、次回デザイナを使用するときに読み込ませることができます。そのレイアウトはこのテーブルに保存されます。さらに、このテーブルは PDF リレーションのエクスポート機能を使用するためにも必要です。詳しくは $cfg['Servers'][$i]['pdf_pages'] を参照してください。

$cfg['Servers'][$i]['pdf_pages']
Type:文字列型または false
Default value:''

バージョン 2.3.0 以降、phpMyAdmin はテーブル間のリレーションを表示する PDF ページを作成できるようになりました。このためには "pdf_pages" (作成する PDF ページの情報の保管用) と "table_coords" (PDF スキーマ出力の際に各テーブルが配置される座標の保管用) という2つのテーブルが必要となります。

この機能を利用できるようにするには、以下のようにします。

この機能はどちらかの設定を false に設定することで無効化することができます。

$cfg['Servers'][$i]['column_info']
Type:文字列型または false
Default value:''

この部分のコンテンツは更新する必要があります。バージョン 2.3.0 以降、テーブルごとに各カラムを説明するコメントを保管できるようになりました。このコメントは「印刷用画面」の際に表示されます。

バージョン 2.5.0 以降、テーブルのプロパティページやテーブルの表示機能でもコメントを利用するようになりました。カラム名の上に表示されるツールチップ(プロパティページ)や表示機能のテーブルヘッダに埋め込まれます。また、テーブルをダンプする際に表示することもできます。後述の関連する設定項目もご覧ください。

また、バージョン 2.5.0 の新機能として、MIME 変換システムがありますが、これも以下のテーブル構造をベースにしています。詳しくは 変換機能 をご覧ください。MIME 変換システムを利用する際は、 column_info テーブルに「mimetype」、「transformation」、「transformation_options」というカラムを新たに付け加える必要があります。

リリース 4.3.0 以降、新しい入力指向の変換システムが導入されました。また、古い変換システムで使用していた後方互換性のためのコードが削除されました。結果的に、以前の変換と新しい入力指向の変換システムが動作するためには column_info の更新が必要です。 phpMydmin は現在の column_info テーブルの構造を解析して自動的にアップグレードします。ただし、自動アップグレードに失敗した場合は ./sql/upgrade_column_info_4_3_0+.sql にある SQL スクリプトを使用して手動でアップグレードすることもできます。

この機能を利用できるようにするには、以下のようにします。

  • $cfg['Servers'][$i]['pmadb'] と phpMyAdmin 環境保管領域をセットアップする

  • $cfg['Servers'][$i]['column_info'] にテーブル名を設定する (例: pma__column_info)

  • 2.5.0 以前の Column_comments table テーブルを更新するには次のようにしてください。また、 config.inc.php 内の変数を $cfg['Servers'][$i]['column_comments'] から $cfg['Servers'][$i]['column_info'] に変更することを忘れないでください。

    ALTER TABLE `pma__column_comments`
    ADD `mimetype` VARCHAR( 255 ) NOT NULL,
    ADD `transformation` VARCHAR( 255 ) NOT NULL,
    ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
    
  • 4.3.0 以前の Column_info テーブルを手作業で更新するには、この ./sql/upgrade_column_info_4_3_0+.sql SQL スクリプトを使用してください。

この機能はこの設定を false に設定することで無効にすることができます。

注釈

自動アップグレード機能を動作させるには $cfg['Servers'][$i]['controluser']phpmyadmin データベースに ALTER 権限を持っている必要があります。ユーザに対して権限を GRANT で許可する方法は、 MySQL 文書の GRANT を参照してください。

$cfg['Servers'][$i]['history']
Type:文字列型または false
Default value:''

バージョン 2.5.0 以降、 SQL の履歴 (phpMyAdmin インタフェースに手入力したすべてのクエリ) を保管できるようになりました。テーブルベースの履歴は利用したくない場合、JavaScript ベースの履歴を利用することもできます。

使用すると、ウィンドウを閉じるときにすべての履歴項目が削除されます。 $cfg['QueryHistoryMax'] を使うと、保持しておきたい履歴リストの上限を指定できます。このリストはログインのたびに上限値にまで切り詰められます。

クエリの履歴を利用できるのはブラウザの JavaScript が有効になっている場合のみです。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['recent']
Type:文字列型または false
Default value:''

バージョン 3.5.0 以降、左側のナビゲーションフレームで最近使用されたテーブルを表示することができます。データベースを選択することなく、直接テーブルへ移動することができます。 $cfg['NumRecentTables'] で最近使用したテーブルの表示できる最大数が設定できます。リストからテーブルを選択すると、指定されたページに $cfg['NavigationTreeDefaultTabTable'] 内において移動が行われます。

phpMyAdmin 環境保管領域がなくても、最近使用されたテーブルにアクセスすることができますが、ログアウトすると記録は失われてしまいます。

この機能を永続的に利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['favorite']
Type:文字列型または false
Default value:''

バージョン 4.2.0 以降では、ナビゲーションパネルで選択されたテーブルの一覧を表示することができます。これはデータベースを選択してからテーブルを選択するのではなく、直接テーブルにジャンプするのに役立ちます。一覧からテーブルを選択すると、 $cfg['NavigationTreeDefaultTabTable'] で指定されたページに移動します。

テーブルをこのリストに加えたり削除したりするのを、テーブル名の隣にある星印をクリックすることで行えるようになります。 $cfg['NumFavoriteTables'] を使用するとお気に入りのテーブルに表示される最大数を設定することができます。

phpMyAdmin 環境保管領域がなくても、テーブルのブックマークにアクセスすることができますが、ログアウトすると記録は失われてしまいます。

この機能を永続的に利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['table_uiprefs']
Type:文字列型または false
Default value:''

バージョン 3.5.0 以降、 phpMyAdmin は表示しているテーブルのさまざまな環境設定 (ソートされた $cfg['RememberSorting'] カラム、テカラムの表示順、カラムの表示有無) を覚えておくことができます。環境保管領域がなくてもこれらの機能は使用することができますが、ログアウトすると値は失われてしまいます。

これらの機能を永続的に利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['users']
Type:文字列型または false
Default value:''

phpMyAdmin がユーザ名情報をユーザグループに関連付けるために使用するテーブルです。詳細や推奨設定は $cfg['Servers'][$i]['usergroups'] の項目を参照してください。

$cfg['Servers'][$i]['usergroups']
Type:文字列型または false
Default value:''

リリース 4.1.0 以降では、メニュー項目が関連付けられた別のユーザグループを作成することができます。ユーザをこれらのグループに割り当てることができ、ログインしているユーザには、自分が割り当てられているユーザグループに対して構成されたメニュー項目のみが表示されます。そのためには、 "usergroups" (各ユーザ グループに対して許可されたメニュー項目を格納する) と "users" (ユーザとユーザ グループへの割り当てを格納する) の 2 つのテーブルが必要です。

この機能を利用できるようにするには、以下のようにします。

この機能はどちらかの設定を false に設定することで無効化することができます。

$cfg['Servers'][$i]['navigationhiding']
Type:文字列型または false
Default value:''

リリース 4.1.0 以降、ナビゲーションツリー内の項目を表示/非表示にすることができます。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['central_columns']
Type:文字列型または false
Default value:''

リリース 4.3.0 以降では、主要カラムのリストをデータベースごとに持つことができます。必要に応じてカラムをリストに追加/削除することができます。リスト内の主要カラムは、テーブルに新しいカラム作成したり、テーブル自体を作成したりするときに利用することができます。主要カラムのリストから選択して新しいカラムを作成し、同じカラム定義を再利用したり、同様のカラムを異なる名前で書いたりすることができます。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['designer_settings']
Type:文字列型または false
Default value:''

リリース 4.5.0 以降、デザイナ設定は記憶されます。「角/直リンク」、「グリッドにあわせる」、「リレーションラインの表示切替」、「すべてを大きく/小さく」、「メニューを移動する」、「ピンテキスト」に関する選択肢は永続的に記憶することができます。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['savedsearches']
Type:文字列型または false
Default value:''

リリース 4.2.0 以降では、定型問い合わせの検索を「データベース > クエリ」パネルから保存・読み出しできます。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['export_templates']
Type:文字列型または false
Default value:''

リリース 4.5.0 以降、エクスポートテンプレートの保存および読み出しができます。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['tracking']
Type:文字列型または false
Default value:''

リリース 3.3.x 以降では、コマンド追跡機能が利用できます。これは、phpMyAdmin によって実行されたすべての SQL コマンドの追跡に役立ちます。この仕組みは、データの操作とデータ定義文のログ記録に対応しています。有効にすると、テーブルの世代を作成することができます。

世代を作成すると、2つの効果があります。

  • phpMyAdmin が構造とインデックスを含むテーブルのスナップショットを保存します。
  • phpMyAdmin がテーブルの構造やデータの変更を行うすべてのコマンドをログに記録し、これらのコマンドと版数を結び付けます。

もちろん、変更履歴を表示することもできます。 コマンド追跡 ページにすべての版に対しての詳細なレポートがあります。レポートは表示件数を絞ることができます。例えば、日付範囲などを指定することで条件内のコマンドリストを取得が行えます。ユーザ名で絞る場合は、すべての名前が対象であれば「*」を入力、名前のリストに対しては「,」で区切って入力してください。更に、(絞り込んだ) レポートをファイルまたは一時的なデータベースへエクスポートすることもできます。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['tracking_version_auto_create']
Type:論理型
Default value:false

SQL コマンドの追跡機能が、テーブルやビューに対して自動的に版を作成するかどうか。

これが true に設定されており、以下のようにテーブルやビューを作成したとき

  • CREATE TABLE ...
  • CREATE VIEW ...

既存の版が存在しなかった場合、追跡機能は自動的に版を生成します。

$cfg['Servers'][$i]['tracking_default_statements']
Type:文字列型
Default value:'CREATE TABLE,ALTER TABLE,DROP TABLE,RENAME TABLE,CREATE INDEX,DROP INDEX,INSERT,UPDATE,DELETE,TRUNCATE,REPLACE,CREATE VIEW,ALTER VIEW,DROP VIEW,CREATE DATABASE,ALTER DATABASE,DROP DATABASE'

使用されたときに新しい版を自動生成する文のリストを定義します。

$cfg['Servers'][$i]['tracking_add_drop_view']
Type:論理型
Default value:true

ビューを作成するときにログの最初の行に DROP VIEW IF EXISTS 文を追加するかどうか。

$cfg['Servers'][$i]['tracking_add_drop_table']
Type:論理型
Default value:true

テーブルを作成するときにログの最初の行に DROP TABLE IF EXISTS 文を追加するかどうか。

$cfg['Servers'][$i]['tracking_add_drop_database']
Type:論理型
Default value:true

データベースを作成するときにログの最初の行に DROP DATABASE IF EXISTS 文を追加するかどうか。

$cfg['Servers'][$i]['userconfig']
Type:文字列型または false
Default value:''

バージョン 3.4.x より。ユーザが自分自身用の環境設定を行い、それをデータベース (phpMyAdmin 環境保管領域) に格納することを許可します。

$cfg['Servers'][$i]['pmadb'] への環境の格納が許可されていなくても、ユーザは phpMyAdmin をカスタマイズすることができますが、ブラウザのローカルストレージに設定を保存することになるか、それもできない場合はセッションの終了時までとなります。

この機能を利用できるようにするには、以下のようにします。

この機能はこの設定を false に設定することで無効にすることができます。

$cfg['Servers'][$i]['MaxTableUiprefs']
Type:整数型
Default value:100

$cfg['Servers'][$i]['table_uiprefs'] テーブルに保存できる最大行数です。

テーブルが削除されたり名前が変更されたりした場合、 $cfg['Servers'][$i]['table_uiprefs'] のデータが正しくなくなることがあります (もう存在しないテーブルを参照しているため)。 $cfg['Servers'][$i]['table_uiprefs'] の行数のみを保存し、それより古い行は自動的に削除します。

$cfg['Servers'][$i]['SessionTimeZone']
Type:文字列型
Default value:''

phpMyAdmin で使用されるタイムゾーンを設定します。空欄にすると、データベースサーバのタイムゾーンを使用します。使用可能な値は https://dev.mysql.com/doc/refman/5.7/ja/time-zone-support.html で説明しています。

これはデータベースサーバが使用するタイムゾーンが、 phpMyAdmin で使用したいタイムゾーンとは異なる場合に有用です。

$cfg['Servers'][$i]['AllowRoot']
Type:論理型
Default value:true

root のアクセスを許可するかどうか。これは下記の $cfg['Servers'][$i]['AllowDeny']['rules'] を簡略化しただけのものです。

$cfg['Servers'][$i]['AllowNoPassword']
Type:論理型
Default value:false

パスワードなしでのログインを許可するかどうか。このパラメータがデフォルト値の false であれば、 root または匿名 (空欄) ユーザが空のパスワードのままの定義で残っていたとしても、MySQL サーバへの意図しないアクセスを防ぐことができます。

$cfg['Servers'][$i]['AllowDeny']['order']
Type:文字列型
Default value:''

規則の適用順が空の場合、 IP 認証は無効になります。

規則の適用順が 'deny,allow' の場合、システムは拒否規則をすべて適用してから許可規則を適用します。アクセスは許可がデフォルトです。拒否コマンドに一致しないクライアント、許可コマンドに一致するクライアントはすべてサーバへのアクセスが許可されます。

規則の適用順が 'allow,deny' の場合、システムは許可規則をすべて適用してから拒否規則を適用します。アクセスは拒否がデフォルトです。 Allow の設定項目に一致しないクライアント、 Deny の設定項目に一致するクライアントはすべてサーバへのアクセスが拒否されます。

規則の適用順が 'explicit' の場合、認証は 'deny,allow' と同様に行われますが、追加される制限は、ホスト名/ユーザ名の組が allow 規則に含まれる 必要があり 、かつ、 deny 規則に含まれては いけません 。これは Allow/Deny 規則を利用するうえでは 最も 安全な方法です。以前は Apache で順番を指定せずに許可・拒否規則を指定することで実現していたものです。

プロキシを通しての IP アドレスの検出については $cfg['TrustedProxies'] も参照してください。

$cfg['Servers'][$i]['AllowDeny']['rules']
Type:文字列型の配列
Default value:array()

この規則の一般的な書式は次の通りです。

<'allow' | 'deny'> <username> [from] <ipmask>

すべてのユーザに一致させたい場合は、 username 欄にワイルドカードとして '%' を使うこともできます。

また、 ipmask 欄でもいくつかショートカットが利用できます (SERVER_ADDRESS の部分は、どんなウェブサーバでも利用できるとは限りませんので注意してください)。

'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24

規則のリストを空にすると、規則の適用順が 'deny,allow' の場合は 'allow % from all' と、適用順が 'allow,deny' ないし 'explicit' の場合は 'deny % from all' と等価になります。

IP アドレス のマッチング規則としては、下記のものが利用できます。

  • xxx.xxx.xxx.xxx (正確な IP アドレス)
  • xxx.xxx.xxx.[yyy-zzz] (IP アドレス の範囲)
  • xxx.xxx.xxx.xxx/nn (CIDR (Classless Inter-Domain Routing) タイプの IP アドレス)

ただし、以下は利用できません。

  • xxx.xxx.xxx.xx[yyy-zzz] (IP アドレスの一部範囲指定)

IPv6 アドレスでは、以下のものが利用できます。

  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (正確な IPv6 アドレス)
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz] (IPv6 アドレスの範囲)
  • xxxx:xxxx:xxxx:xxxx/nn (CIDR (Classless Inter-Domain Routing) タイプの IPv6 アドレス)

ただし、以下は利用できません。

  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz] (IPv6 アドレスの一部範囲指定)

例:

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow bob from all');
// Allow only 'bob' to connect from any host

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow mary from 192.168.100.[50-100]');
// Allow only 'mary' to connect from host 192.168.100.50 through 192.168.100.100

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow % from 192.168.[5-6].10');
// Allow any user to connect from host 192.168.5.10 or 192.168.6.10

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow root from 192.168.5.50','allow % from 192.168.6.10');
// Allow any user to connect from 192.168.6.10, and additionally allow root to connect from 192.168.5.50
$cfg['Servers'][$i]['DisableIS']
Type:論理型
Default value:false

情報を取得するための INFORMATION_SCHEMA の使用を無効にします (代わりに SHOW コマンドを使用します)。多くのデータベースが存在している場合に速度的な問題があるためです。

注釈

このオプションを有効にすると、古い MySQL サーバでは性能が飛躍的に向上する可能性があります。

$cfg['Servers'][$i]['SignonScript']
Type:文字列型
Default value:''

バージョン 3.5.0 で追加.

ログイン資格情報を取得するために実行される PHP スクリプトの名前。これは、セッションに基づくシングルサインオンに代わる手法です。このスクリプトは、ユーザ名とパスワードの一覧を返す関数 get_login_credentials を提供していて、単一のパラメータとして存在するユーザ名 (空欄も可) を受け入れる必要があります。サンプルは、 examples/signon-script.php を参照してください。

<?php
/**
 * Single signon for phpMyAdmin
 *
 * This is just example how to use script based single signon with
 * phpMyAdmin, it is not intended to be perfect code and look, only
 * shows how you can integrate this functionality in your application.
 */

declare(strict_types=1);

// phpcs:disable Squiz.Functions.GlobalFunction

/**
 * This function returns username and password.
 *
 * It can optionally use configured username as parameter.
 *
 * @param string $user User name
 *
 * @return array
 */
function get_login_credentials($user)
{
    /* Optionally we can use passed username */
    if (! empty($user)) {
        return [
            $user,
            'password',
        ];
    }

    /* Here we would retrieve the credentials */
    return [
        'root',
        '',
    ];
}
$cfg['Servers'][$i]['SignonSession']
Type:文字列型
Default value:''

サインオン認証方式に使用されるセッションの名前です。phpMyAdmin という名前は phpMyAdmin が内部的に使用しているセッションであるため、それとは異なる名前を使用する必要があります。 $cfg['Servers'][$i]['SignonScript'] を解除しないと、こちらは機能しません。

$cfg['Servers'][$i]['SignonCookieParams']
Type:配列型
Default value:array()

バージョン 4.7.0 で追加.

他の認証システムのセッションクッキーパラメータの連想配列。他の認証システムが session_set_cookie_params() を使用していない場合は必要ありません。キーには 'lifetime'、'path'、'domain'、'secure'、'httponly' のいずれかを指定します。有効な値は session_get_cookie_params で説明されています。 $cfg['Servers'][$i]['SignonScript'] が設定されていない場合にのみ有効です。

$cfg['Servers'][$i]['SignonURL']
Type:文字列型
Default value:''

サインオン認証方式にログインするためにユーザがリダイレクトされる URL です。プロトコルを含めた絶対パスである必要があります。

$cfg['Servers'][$i]['LogoutURL']
Type:文字列型
Default value:''

ユーザがログアウト後にリダイレクトされる URL (認証方式の設定には影響しません)。プロトコルを含む絶対パスにする必要があります。

一般設定

$cfg['DisableShortcutKeys']
Type:論理型
Default value:false

$cfg['DisableShortcutKeys'] を false に設定することで phpMyAdmin のショートカットキーを無効にすることができます。

$cfg['ServerDefault']
Type:整数型
Default value:1

複数のサーバが設定されている場合、$cfg['ServerDefault'] にサーバ番号を設定しておくと phpMyAdmin を立ち上げたときに自動的にそのサーバに接続するようにできます。0 に設定するとログインしないでサーバのリストを表示します。

サーバが 1 つしか設定されていない場合、$cfg['ServerDefault'] はそのサーバに設定しなければなりません。

$cfg['VersionCheck']
Type:論理型
Default value:true

最新バージョンの確認を、 phpMyAdmin メインページ上で JavaScript を使用したり、 index.php?route=/version-check に直接アクセスしたりすることで行えるようにします。

注釈

この設定はベンダーが変更する可能性があります。

$cfg['ProxyUrl']
Type:文字列型
Default value:""

最新のバージョン情報を取得したり、エラーレポートを送信したりするときなど、 phpmyadmin が外部のインターネットにアクセスする必要があるときに使用するプロキシの URL です。 phpMyAdmin がインストールされているサーバがインターネットに直接アクセスできない場合に必要です。書式は "ホスト名:ポート番号" です。

$cfg['ProxyUser']
Type:文字列型
Default value:""

プロキシサーバで認証するユーザ名。デフォルトでは認証は行われません。ユーザ名が与えられた場合は、 Basic 認証が行われます。現在のところ、他の種類の認証には対応していません。

$cfg['ProxyPass']
Type:文字列型
Default value:""

プロキシサーバへログインするためのパスワード。

$cfg['MaxDbList']
Type:整数型
Default value:100

メインパネルのデータベース一覧に表示されるデータベース名の最大数。

$cfg['MaxTableList']
Type:整数型
Default value:250

メインパネルのリストに表示されるテーブル名の最大数 (エクスポートページを除く)。

$cfg['ShowHint']
Type:論理型
Default value:true

ヒントを表示するかどうか (テーブルのヘッダ部などにマウスカーソルを重ねると表示されるものです)。

$cfg['MaxCharactersInDisplayedSQL']
Type:整数型
Default value:1000

SQL クエリ表示時の最大文字数。デフォルトの制限は 1000 ですが、 BLOB を表現するのに多量の 16 進コードで表示されるのを防ぐには、このくらいで正しいでしょう。しかし、ユーザによっては 1000 文字よりも長い実際の SQL クエリを使用します。また、クエリの長さがこの制限を超えている場合、そのクエリは履歴に保存されません。

$cfg['PersistentConnections']
Type:論理型
Default value:false

持続的な接続 を使用するかどうか。以下の PHP 拡張モジュールで動作します。

$cfg['ForceSSL']
Type:論理型
Default value:false

バージョン 4.6.0 で非推奨: この設定は phpMyAdmin 4.6.0 以降は有効ではありません。代わりにウェブサーバを設定してください。

phpMyAdmin にアクセスするときに https を強制するかどうか。リバースプロキシの設定では、これを true にすることはサポートされていません。

注釈

設定によっては (分離型の SSL プロキシやロードバランサなど)、正しくリダイレクトするために $cfg['PmaAbsoluteUri'] を設定しなければならないかもしれません。

$cfg['MysqlSslWarningSafeHosts']
Type:配列型
Default value:['127.0.0.1', 'localhost']

この検索は大文字と小文字を区別し、厳密に一致する文字列のみを検索します。 SSLを使用していないが、ローカル接続やプライベートネットワークを使用しているために安全だと分かっている場合は、ホスト名や IP アドレスをリストに追加することができます。また、デフォルトの項目を削除して自分のものだけを含めることもできます。

このチェックは $cfg['Servers'][$i]['host'] の値を使用します。

バージョン 5.1.0 で追加.

設定例

$cfg['MysqlSslWarningSafeHosts'] = ['127.0.0.1', 'localhost', 'mariadb.local'];
$cfg['ExecTimeLimit']
Type:整数型 [秒数]
Default value:300

スクリプトの実行が許可される時間を秒数で設定します。秒数を 0 にすると、時間制限がなくなります。この設定はダンプファイルのインポート/エクスポートの際に使用されますが、 PHP がセーフモードになっているときは効果がありません。

$cfg['SessionSavePath']
Type:文字列型
Default value:''

セッションデータを保存のためのパス (session_save_path PHP 引数)。

警告

このフォルダはウェブサーバを通して一般からアクセス可能にしてはいけません。セッションからプライベートデータが漏洩するリスクがあります。

$cfg['MemoryLimit']
Type:文字列型 [バイト数]
Default value:'-1'

スクリプトに割り当てることができるバイト数を設定します。 '-1' を設定すると、制限は適用されません。 '0' を設定すると、メモリの制限の変更が行われず、 php.inimemory_limit が使用されます。

この設定はダンプファイルのインポート/エクスポートをする際に使用されます。この値を極端に低くくする必要は全くありません。PHP がセーフモードになっているときは効果がありません。

また、 php.ini 内で使われているような任意の文字列を使用することができます (例: '16M')。単位の接尾辞を忘れていないか確認してください (「16」は 16 バイトを意味します)

$cfg['SkipLockedTables']
Type:論理型
Default value:false

利用しているテーブルに印をつけることで、テーブルがロックされているデータベースを表示できるようにします(3.23.30 以降)。

$cfg['ShowSQL']
Type:論理型
Default value:true

phpMyAdmin が生成する SQL クエリを表示するかどうかを定義します。

$cfg['RetainQueryBox']
Type:論理型
Default value:false

送信後もそのまま SQL クエリボックスを表示させておくかどうかを定義します。

$cfg['CodemirrorEnable']
Type:論理型
Default value:true

SQL クエリボックスに JavaScript コードエディタを使用するかどうかを定義します。 CodeMirror では構文の強調と行番号の表示ができます。ただし、いくつかの Linux ディストリビューション (Ubuntu など) で提供されている真ん中ボタンによる貼り付けは、すべてのブラウザではサポートされていません。

$cfg['DefaultForeignKeyChecks']
Type:文字列型
Default value:'default'

指定されたクエリの外部キーのチェックを無効/有効にする外部キーチェックのチェックボックスのデフォルト値です。指定可能な値は 'default', 'enable', 'disable' です。 'default' に設定すると、 MySQL 環境変数の FOREIGN_KEY_CHECKS の値が使用されます。

$cfg['AllowUserDropDatabase']
Type:論理型
Default value:false

警告

これは、これを回避する方法が常に存在するので、セキュリティ対策にはなりません。ユーザがデータベースを削除することを禁止したい場合は、対応する DROP 権限を無効にしてください。

通常ユーザ (管理者以外) に自分自身のデータベースの削除を許可するかどうかを定義します。FALSE にすると、 データベースを削除する のリンクは表示されませんし、 DROP DATABASE mydatabase すらも拒否されます。多くの顧客をかかえる ISP にとってはきわめて実用的です。

SQL クエリに対するこの制限は、MySQL の権限を使用した場合ほど厳格ではないことに注意してください。これは SQL クエリの性質によるもので、非常に複雑になる可能性があります。この設定は、厳密な権限の制限というよりも、意図しない削除を防止するのに役立つものとして見るべきです。

$cfg['Confirm']
Type:論理型
Default value:true

データが消失しそうな操作をしたときに警告 (「本当に〜してもよろしいですか」) を表示するかどうか。

$cfg['UseDbSearch']
Type:論理型
Default value:true

「データベース内の検索」を有効にするかどうかを定義します。

$cfg['IgnoreMultiSubmitErrors']
Type:論理型
Default value:false

複数のクエリを含む文のクエリのひとつが失敗したときに処理を続けるかどうかを定義します。デフォルトでは処理を中止します。

$cfg['enable_drag_drop_import']
Type:論理型
Default value:true

ドラッグ&ドロップによるインポート機能が有効になっているかどうか。有効になっている場合、ユーザがファイルをブラウザにドラッグすると、 phpMyAdmin はファイルのインポートを試みます。

メインパネル

$cfg['ShowStats']
Type:論理型
Default value:true

データベースやテーブルについてのディスク容量の使用状況や統計情報を表示するかどうかを定義します。ただし、統計情報を表示するには MySQL 3.23.3 以上が必要であり、現時点では MySQL は Berkeley DB テーブル向けの情報などを返しません。

$cfg['ShowServerInfo']
Type:論理型
Default value:true

メインページに詳細なサーバ情報を表示するかどうかを定義します。さらに、 $cfg['Servers'][$i]['verbose'] を使用することにより、より多くの情報を隠すことができます。

$cfg['ShowPhpInfo']
Type:論理型
Default value:false

立ち上げ時のメイン(右)フレームに、 PHP情報を表示する を表示するかどうかを定義します。

なお、スクリプト内で phpinfo() を使用することを禁止するには、 php.ini に次の行を記述してください。

disable_functions = phpinfo()

警告

phpinfo ページを有効化すると、サーバの設定に関する膨大な情報を漏洩することになります。共有インストールではこれを有効にすることはお勧めしません。

これによって、インストールに対する一部のリモート攻撃が容易になる可能性があるため、必要な場合しかこれを有効化しないようにしてください。

$cfg['ShowChgPassword']
Type:論理型
Default value:true

立ち上げ時のメイン(右)フレームに、 パスワードを変更する のリンクを表示するかどうかを定義します。この設定は、直接入力された MySQL コマンドをチェックするものではありません。

なお、 config 認証モードでは、たとえ設定が有効であっても パスワードを変更する リンクは無効になります。設定ファイルに直接書き込まれたパスワードは、ログインユーザが書き換えることができないからです。

$cfg['ShowCreateDb']
Type:論理型
Default value:true

立ち上げ時のメイン(右)フレームに、データベースを作成するフォームを表示するかどうかを定義します。この設定は、直接入力された MySQL コマンドに対してチェックするわけではありません。

$cfg['ShowGitRevision']
Type:論理型
Default value:true

(もしあれば) 現在の Git リビジョンに関する情報をメインパネルに表示するかどうかを定義します。

$cfg['MysqlMinVersion']
Type:配列型

対応している MySQL の最低バージョンを定義します。デフォルト値は phpMyAdmin チームによって選択されます。ただし、この設定項目は (ほとんどの phpMyAdmin の機能が動作する) 古い MySQL サーバとの統合を容易にするために、 Plesk コントロールパネルの開発者から依頼されたものです。

データベースの構造

$cfg['ShowDbStructureCreation']
Type:論理型
Default value:false

データベース構造ページ (テーブル一覧) において、「作成日時」カラムでいつテーブルが作成されたかを表示させるかどうかを定義します。

$cfg['ShowDbStructureLastUpdate']
Type:論理型
Default value:false

データベース構造ページ (テーブル一覧) において、「最終更新」カラムでテーブル最後に更新された時期を表示させるかどうかを定義します。

$cfg['ShowDbStructureLastCheck']
Type:論理型
Default value:false

データベース構造ページ (テーブル一覧) において、「最終検査」カラムでテーブルを最後に検査した時期を表示させるかどうかを定義します。

$cfg['HideStructureActions']
Type:論理型
Default value:true

テーブル構造の各操作を「その他」ドロップダウンの中に隠すかどうかを定義します。

$cfg['ShowColumnComments']
Type:論理型
Default value:true

テーブル構造ビューのカラムとして、カラムのコメントを表示するかどうかを定義します。

表示モード

$cfg['TableNavigationLinksMode']
Type:文字列型
Default value:'icons'

テーブルのナビゲーションリンクにアイコン ('icons')、テキスト ('text')、または両方 ('both') のどれを表示するかを定義します。

$cfg['ActionLinksMode']
Type:文字列型
Default value:'both'

icons に設定すると、データベースおよびテーブルプロパティのリンクテキスト (表示検索挿入、など) の代わりにアイコンを表示します。アイコンとテキストの両方を表示したい場合は 'both' に設定することができます。 text に設定すると、テキストのみを表示します。

$cfg['RowActionType']
Type:文字列型
Default value:'both'

テーブルの行の操作の部分を、アイコン、テキスト、またはアイコンとテキストの両方のどれで表示するかです。値は 'icons' (アイコン)、 'text' (テキスト)、 'both' (両方) のいずれかです。

$cfg['ShowAll']
Type:論理型
Default value:false

すべての場合において、表示モードでユーザに すべて表示 ボタンを表示するかどうかを定義します。デフォルトでは、取得する行数が多くなりすぎることによるパフォーマンスの問題を回避するため、小さなテーブル (500 行未満) のみに表示されます。

$cfg['MaxRows']
Type:整数型
Default value:25

LIMIT 節を使用しなかった場合の結果セットの表示行数です。この場合において結果セットがこの行数を上回ったときは、「前へ」および「次へ」のリンクが表示されます。指定可能な値は、 25、50、100、250、500 です。

$cfg['Order']
Type:文字列型
Default value:'SMART'

昇順 (ASC)、降順 (DESC)、スマートな順番 (SMART) のいずれの方法でカラムを表示するかを定義します。スマートな順番とは、TIME、DATE、DATETIME、TIMESTAMP の場合は降順、それ以外の場合は昇順であり、これがデフォルトです。

バージョン 3.4.0 で変更: phpMyAdmin 3.4.0 以降ではデフォルト値は 'SMART' です。

$cfg['GridEditing']
Type:文字列型
Default value:'double-click'

グリッド編集を起動するアクション (double-click または``click``) を定義します。 disabled の値で無効化することもできます。

$cfg['RelationalDisplay']
Type:文字列型
Default value:'K'

オプション > リレーションの初期動作を定義します。 K がデフォルトで、キーを表示するのに対し、 D はカラムを表示します。

$cfg['SaveCellsAtOnce']
Type:論理型
Default value:false

グリッド編集において、編集されたすべてのセルを一度に保存するかどうかを定義します。

編集モード

$cfg['ProtectBinary']
Type:論理型または文字列型
Default value:'blob'

テーブルの内容を表示しているときに BLOBBINARY カラムを保護して編集できないようにするかどうかを定義します。有効な値は次の通りです。

  • false はすべてのカラムの編集を許可します。
  • 'blob'BLOBS 以外のすべてのカラムの編集を許可します。
  • 'noblob'BLOBS 以外のすべてのカラムの編集を禁止します ('blob' の 逆)。
  • 'all' ですべての BINARY カラムと BLOB カラムの編集を禁止します。
$cfg['ShowFunctionFields']
Type:論理型
Default value:true

挿入/編集モードで、MySQL 関数の項目が最初から表示されるかどうかを定義します。バージョン 2.10 以降、この設定はユーザインターフェイスで切り替えることができます。

$cfg['ShowFieldTypesInDataEditView']
Type:論理型
Default value:true

編集/挿入モードで、データ型の項目が最初から表示されるかどうかを定義します。この設定はユーザインターフェイスで切り替えることができます。

$cfg['InsertRows']
Type:整数型
Default value:2

挿入ページから入力するデフォルトの行数を定義します。ユーザはページの下部から空行を追加または削除することで、手動でこれを変更することができます。

$cfg['ForeignKeyMaxLimit']
Type:整数型
Default value:100

外部キーに指定された項目がこの値より少ない場合は、 $cfg['ForeignKeyDropdownOrder'] の設定で記述したスタイルで外部キーのドロップダウンボックスが表示されます。

$cfg['ForeignKeyDropdownOrder']
Type:配列型
Default value:array('content-id', 'id-content')

外部キーのドロップダウン項目には、いくつかの表示方法がありますが、キーと値データの両方が表示されます。この配列には、 content-idid-content のいずれか、または両方が入ります。

エクスポートとインポートの設定

$cfg['ZipDump']
Type:論理型
Default value:true
$cfg['GZipDump']
Type:論理型
Default value:true
$cfg['BZipDump']
Type:論理型
Default value:true

ダンプファイルを作成するときに zip/GZip/BZip2 圧縮を利用できるようにするかどうかを定義します

$cfg['CompressOnFly']
Type:論理型
Default value:true

GZip/BZip2 でエクスポートを圧縮する際、逐次圧縮を許可するかどうかを定義します。比較的小さなダンプの場合は関係ありませんが、許可すると、圧縮しない限り PHP のメモリ制限にひっかかるような大きなダンプも作成できるようになります。こうして生成したファイルは GZip/BZip2 ヘッダが多くなってしまいますが、まともなプログラムならどれでも正しく処理してくれます。

$cfg['Export']
Type:配列型
Default value:array(...)

この配列はエクスポートの際のデフォルトパラメータを定義します。項目名はエクスポートページに表示されるテキストとほとんど同じですので、意味は簡単にわかるでしょう。

$cfg['Export']['format']
Type:文字列型
Default value:'sql'

デフォルトのエクスポート形式。

$cfg['Export']['method']
Type:文字列型
Default value:'quick'

エクスポートページに表示される形式について定義します。有効な値は以下の通りです。

  • quick は、設定に必要な最小限のオプションを表示します
  • custom は、設定できるすべてのオプションを表示します
  • custom-no-formcustom と同じですが、 quick エクスポートのオプションは表示されません
$cfg['Export']['charset']
Type:文字列型
Default value:''

生成されるエクスポートの文字セットを定義します。デフォルトでは UTF-8 を想定して文字セット変換は行われません。

$cfg['Export']['file_template_table']
Type:文字列型
Default value:'@TABLE@'

テーブルをエクスポートする際のデフォルトのファイル名のテンプレートです。

$cfg['Export']['file_template_database']
Type:文字列型
Default value:'@DATABASE@'

データベースエクスポート用のデフォルトのファイル名テンプレートです。

$cfg['Export']['file_template_server']
Type:文字列型
Default value:'@SERVER@'

サーバをエクスポートする際のデフォルトのファイル名のテンプレートです。

$cfg['Import']
Type:配列型
Default value:array(...)

この配列はインポートの際のデフォルトパラメータを定義します。項目名はインポートページに表示されるテキストとほとんど同じですので、意味は簡単にわかるでしょう。

$cfg['Import']['charset']
Type:文字列型
Default value:''

インポート用の文字セットを定義します。デフォルトでは UTF-8 を仮定し、文字セット変換は行われません。

タブ表示設定

$cfg['TabsMode']
Type:文字列型
Default value:'both'

メニュータブにアイコン ('icons')、テキスト ('text')、または両方 ('both') のどれを表示するかを定義します。.

$cfg['PropertiesNumColumns']
Type:整数型
Default value:1

データベースのプロパティを表示する際に何カラム分のテーブルを表示するか。 1 より大きい値に設定した場合、表示領域を広げるためデータベースのタイプは表示されなくなります。

$cfg['DefaultTabServer']
Type:文字列型
Default value:'welcome'

デフォルトでサーバビューに表示されるタブを定義します。指定可能な値はローカライズされた次のものと同等です。

  • welcome (複数ユーザのセットアップに推奨)
  • databases,
  • status
  • variables
  • privileges
$cfg['DefaultTabDatabase']
Type:文字列型
Default value:'structure'

デフォルトでデータベースビューに表示されるタブを定義します。指定可能な値はローカライズされた次のものと同等です。

  • structure
  • sql
  • search
  • operations
$cfg['DefaultTabTable']
Type:文字列型
Default value:'browse'

デフォルトでテーブルビューに表示されるタブを定義します。指定可能な値はローカライズされた次のものと同等です。

  • structure
  • sql
  • search
  • insert
  • browse

PDF オプション

$cfg['PDFPageSizes']
Type:配列型
Default value:array('A3', 'A4', 'A5', 'letter', 'legal')

PDF ページを生成するのに利用できる紙の大きさの配列です。

これを変更する必要はありません。

$cfg['PDFDefaultPageSize']
Type:文字列型
Default value:'A4'

PDF ページの生成時に使用するデフォルトのページの大きさです。有効な値は $cfg['PDFPageSizes'] にあるいずれかです。

言語

$cfg['DefaultLang']
Type:文字列型
Default value:'en'

ブラウザーやユーザーが定義していない場合に使用するデフォルトの言語を定義します。対応する言語ファイルは、 locale/code/LC_MESSAGES/phpmyadmin.mo に存在しなければなりません。

$cfg['DefaultConnectionCollation']
Type:文字列型
Default value:'utf8mb4_general_ci'

ユーザが定義していない場合に使用するデフォルトの接続の照合順序を定義します。設定可能な値については 文字セットに関する MySQL のドキュメント を参照してください。

$cfg['Lang']
Type:文字列型
Default value:設定なし

強制的に使用する言語です。対応する言語ファイルは、 locale/code/LC_MESSAGES/phpmyadmin.mo に存在しなければなりません。

$cfg['FilterLanguages']
Type:文字列型
Default value:''

利用可能な言語の一覧を与えられた正規表現にマッチするものに限定します。例えば、チェコ語と英語のみに限定したければ、フィルタを '^(cs|en)' に設定します。

$cfg['RecodingEngine']
Type:文字列型
Default value:'auto'

文字セットの変換にどの関数を利用するかを選択できます。可能な値は次の通りです。

  • auto - 自動的に利用可能なものを利用します(まずは iconv を、次に recode を試します)
  • iconv - iconv ないし libiconv 関数を利用します
  • recode - recode_string 関数を利用します
  • mb - mbstring 拡張モジュールを使用します
  • none - エンコード変換を無効にします

文字セットの変換が有効の場合、ファイルをエクスポートするときに文字セットを選択できるように、エクスポート/インポートページでプルダウンメニューが有効になります。このメニューのデフォルト値は $cfg['Export']['charset']$cfg['Import']['charset'] で設定されているものです。

$cfg['IconvExtraParams']
Type:文字列型
Default value:'//TRANSLIT'

文字セット変換で利用する iconv 向けのパラメータを指定します。詳しくは iconv のドキュメント をご覧ください。デフォルトでは //TRANSLIT が使用されていて、無効な文字は書き直しが行われます。

$cfg['AvailableCharsets']
Type:配列型
Default value:array(...)

MySQL 変換で使用できる文字セットです。(recode/iconv がサポートしているものを)自分で追加したり、使わないものを削除したりすることもできます。文字セットはこのリストと同じ順番で表示されますので、頻繁に使うものは先頭に移動してください。

ウェブサーバ設定

$cfg['OBGzip']
Type:文字列型/論理型
Default value:'auto'

HTTP 転送の速度を上げるために GZip 出力バッファリングを使用するかどうかを定義します。 true/false に設定すると有効/無効になります。 (文字列で) 'auto' にすると、phpMyAdmin は出力バッファリングを有効にしようとしますが、ブラウザの方で何かバッファリングに問題が発生した場合は自動的に無効にします。IE6 に特定のパッチをあてると、バッファリングを有効にしたときにデータが壊れる問題があることが分かっています。

$cfg['TrustedProxies']
Type:配列型
Default value:array()

$cfg['Servers'][$i]['AllowDeny']['order'] で信頼されているプロキシと信頼されているプロキシおよび HTTP ヘッダのリストです。このリストはデフォルトでは空です。プロキシ越しの IP アドレスの規則を使用したい場合には、信頼されたプロキシサーバで埋める必要があります。

次の例では、 phpMyAdmin がプロキシ 1.2.3.4 からきた HTTP_X_FORWARDED_FOR (X-Forwarded-For) ヘッダを信頼するように指定しています。

$cfg['TrustedProxies'] = array('1.2.3.4' => 'HTTP_X_FORWARDED_FOR');

$cfg['Servers'][$i]['AllowDeny']['rules'] の設定項目は、通常通りクライアントの IP アドレスを使用します。

$cfg['GD2Available']
Type:文字列型
Default value:'auto'

GD ≧ 2 が利用できるかどうかを指定します。利用できる場合、MIME 変換の際に活用できます。使用可能な値は次の通りです。

  • auto - 自動検出
  • yes - GD 2 関数が利用できます
  • no - GD 2 関数は利用できません
$cfg['CheckConfigurationPermissions']
Type:論理型
Default value:true

通常、設定ファイルのアクセス許可をチェックして、誰でも書き込み可能でないことを確認します。しかしながら、Windows 以外のサーバ上でマウントされた NTFS ファイルシステムに phpMyAdmin がインストールされている場合は、パーミッションが間違っているようなときでも、実際には検出することができません。この場合、システム管理者はこのパラメータを false に設定します。

$cfg['LinkLengthLimit']
Type:整数型
Default value:1000

リンクの URL の長さを制限します。長さがこの制限を超えた場合、ボタンつきのフォームに置き換えられます。一部のウェブサーバ (IIS) は長い URL に問題があるため、この設定が必要となります。

$cfg['CSPAllow']
Type:文字列型
Default value:''

Content Security Policy ヘッダで許可されているスクリプトや画像の source に含める追加の文字列です。

これは、外部の JavaScript ファイルを config.footer.inc.php または config.header.inc.php に含める場合に役立ちます。これは通常、 Content Security Policy では許可されていません。

一部のサイトを許可するには、文字列の中に列挙するだけです。

$cfg['CSPAllow'] = 'example.com example.net';

バージョン 4.0.4 で追加.

$cfg['DisableMultiTableMaintenance']
Type:論理型
Default value:false

データベースの構造ページにおいて、複数のテーブルをマークして多くのテーブルを最適化するような操作を選択することができます。この操作はサーバの動作を遅くする可能性があるので、これを true に設定することで、この種の複数のメンテナンス操作ができなくします。

テーマ設定

themes/themename/scss/_variables.scss を直接変更してください。ただし、変更は次の更新で上書きされます。

デザインのカスタマイズ

$cfg['NavigationTreePointerEnable']
Type:論理型
Default value:true

true に設定すると、ナビゲーションパネルの項目にマウスポインタを合わせると、その項目がマークされます (背景が強調表示されます)。

$cfg['BrowsePointerEnable']
Type:論理型
Default value:true

true に設定すると、参照ページの行にカーソルを合わせたときに、その行がマークされます (背景が強調表示されます)。

$cfg['BrowseMarkerEnable']
Type:論理型
Default value:true

true に設定すると、チェックボックスを使用して行が選択されたとき、データ行がマークされます (背景が強調表示されます)。

$cfg['LimitChars']
Type:整数型
Default value:50

表示ページで、数字以外のフィールドに表示する最大文字数です。表示ページ内のトグルボタンでオフにすることもできます。

Type:文字列型
Default value:'left'

テーブルの内容を表示しているとき、行に関するリンク (編集、複製、削除) をどこに表示するかを定義します (左側 (left)、右側 (right)、左右両側 (both)、なし (nowhere) が設定できます)。

$cfg['RowActionLinksWithoutUnique']
Type:論理型
Default value:false

選択範囲に ユニークキー がない場合でも、複数の行操作を行うための各行のリンク (編集、コピー、削除) やチェックボックスを表示するかどうかを指定します。ユニークキーがない場合に行操作を使用すると、行を正確に選択する方法が保証されていないため、別な行やより多くの行が影響を受けることになる可能性があります。

$cfg['RememberSorting']
Type:論理型
Default value:true

有効にすると、表示している各テーブルのソートが記憶されます。

$cfg['TablePrimaryKeyOrder']
Type:文字列型
Default value:'NONE'

これは 主キー を持つテーブルで、ソート順が外部的に定義されていない場合のデフォルトのソート順を定義します。指定可能な値は ['NONE', 'ASC', 'DESC'] のいずれかです。

$cfg['ShowBrowseComments']
Type:論理型
Default value:true
$cfg['ShowPropertyComments']
Type:論理型
Default value:true

対応する変数を true に設定すると、表示またはプロパティでカラムのコメントが表示できるようになります。表示モードの場合、コメントはヘッダの中に表示されます。プロパティモードの場合、コメントはカラム名の下に CSS で整形された破線を使用して表示されます。コメントはカラムのツールチップとしても表示されます。

$cfg['FirstDayOfCalendar']
Type:整数型
Default value:0

これはカレンダーにおける週の最初の曜日を定義します。数値は 0 から 6 までを設定することができ、それぞれ7つの曜日、日曜日から土曜日までを表します。この値はサーバの設定 -> 機能 -> 一般 -> カレンダーの最初の曜日フィールドでユーザが設定することもできます。

テキスト入力項目

$cfg['CharEditing']
Type:文字列型
Default value:'input'

CHAR カラムと VARCHAR カラムでどちらの編集用コントロールを利用するか定義します。データの編集と、構造の編集のデフォルト値にも適用されます。指定可能な値は次の通りです。

  • input - テキストのサイズを MySQL のカラムのサイズまでに制限できますが、カラムに改行があると問題になります
  • textarea - カラムに改行があっても問題ありませんが、長さの制限はできません
$cfg['MinSizeForInputField']
Type:整数型
Default value:4

CHAR および VARCHAR カラムに対する入力項目の最小サイズを定義します。

$cfg['MaxSizeForInputField']
Type:整数型
Default value:60

CHAR および VARCHAR カラムに対する入力項目の最大サイズを定義します。

$cfg['TextareaCols']
Type:整数型
Default value:40
$cfg['TextareaRows']
Type:整数型
Default value:15
$cfg['CharTextareaCols']
Type:整数型
Default value:40
$cfg['CharTextareaRows']
Type:整数型
Default value:2

testarea の桁数と行数の数値です。この値は SQL クエリの textarea の場合は 2 倍に、クエリウインドウ内の SQL 用 textarea の場合は 1.25 倍になります。

Char* の値は CHAR と VARCHAR を編集する際に使われます ($cfg['CharEditing'] でそのように設定されている場合)。

$cfg['LongtextDoubleTextarea']
Type:論理型
Default value:true

LONGTEXT カラムの textarea のサイズを倍にするかどうかを定義します。

$cfg['TextareaAutoSelect']
Type:論理型
Default value:false

クリックしたときにクエリボックスの textarea 全体を選択するかどうかを定義します。

$cfg['EnableAutocompleteForTablesAndColumns']
Type:論理型
Default value:true

SQL クエリボックス内でテーブル名やカラム名の自動補完を有効にするかどうかです。

SQL クエリボックス設定

$cfg['SQLQuery']['Edit']
Type:論理型
Default value:true

SQL クエリボックスにクエリを変更する編集リンクを表示するかどうか。

$cfg['SQLQuery']['Explain']
Type:論理型
Default value:true

SQL クエリボックスに SELECT クエリを EXPLAIN するリンクを表示するかどうか。

$cfg['SQLQuery']['ShowAsPHP']
Type:論理型
Default value:true

SQL クエリボックスにクエリを PHP コードで形成するリンクを表示するかどうか。

$cfg['SQLQuery']['Refresh']
Type:論理型
Default value:true

SQL クエリボックスにクエリを再描画するリンクを表示するかどうか。

ウェブサーバのアップロード/保存/インポートディレクトリ

PHP がセーフモードになっている場合は、 phpMyAdmin スクリプトの所有者と同じユーザが所有者になっていなければなりません。

phpMyAdmin がインストールされているディレクトリに open_basedir 制限が適用される場合は、 PHP インタプリタがアクセスできるディレクトリに一時ディレクトリを作成する必要があります。

セキュリティ上の理由から、すべてのディレクトリをウェブサーバで公開されているツリーの外にしてください。このディレクトリがウェブサーバで公開されるのが避けられない場合は、ウェブサーバの設定 (例えば .htaccess ファイルまたは web.config ファイルを使用するなど) によってアクセスを制限するか、少なくとも空の index.html ファイルをそこに配置すれば、ディレクトリの一覧表示は不可能になります。ただし、ウェブサーバがディレクトリにアクセスできる限り、攻撃者はファイル名を推測してファイルをダウンロードすることができます。

$cfg['UploadDir']
Type:文字列型
Default value:''

phpMyAdmin 以外の方法 (例えば FTP) でアップロードした SQL ファイルのあるディレクトリ名。このディレクトリにあるファイルは、データベース名またはテーブル名をクリックしてから、インポートタブをクリックして表示されるドロップダウンボックスより利用できます。

ユーザごとにディレクトリを変えたい場合は、%u を使うとユーザ名に置換されます。

なお、ファイル名の末尾は必ず ".sql" (圧縮形式のサポートが有効になっている場合は ".sql.bz2" や ".sql.gz") でなければなりません。

この機能はファイルが大きすぎて HTTP でアップロードできないときや、PHP のファイルアップロード機能が無効になっている場合に有用です。

警告

このディレクトリのセットアップ方法と使用を安全にする方法については、この節の冒頭 (ウェブサーバのアップロード/保存/インポートディレクトリ) を参照してください。

$cfg['SaveDir']
Type:文字列型
Default value:''

エクスポートされたファイルを保存するウェブサーバのディレクトリ名です。

ユーザごとにディレクトリを指定したい場合は、 %u を使うとユーザ名に置換されます。

このディレクトリは存在しており、ウェブサーバの実行ユーザで書き込みできるようになっていなければなりません。

警告

このディレクトリのセットアップ方法と使用を安全にする方法については、この節の冒頭 (ウェブサーバのアップロード/保存/インポートディレクトリ) を参照してください。

$cfg['TempDir']
Type:文字列型
Default value:'./tmp/'

一時ファイルを保管可能なディレクトリの名前です。現在は以下のような様々な目的に使用されています。

このディレクトリは、実行されているウェブサーバにおいて必要なユーザのみアクセスできるよう、可能な限り厳格な権限を有している必要があります。root 権限を持っている場合は、このディレクトリの所有者としてウェブユーザを設定し、ウェブユーザだけでアクセスできるようにすればいいだけです。

chown www-data:www-data tmp
chmod 700 tmp

ディレクトリの所有者を変更できない場合は、 ACL を使用して同様の設定を実現できます。

chmod 700 tmp
setfacl -m "g:www-data:rwx" tmp
setfacl -d -m "g:www-data:rwx" tmp

上記のどちらも動作しない場合、ディレクトリに対して chmod 777 と設定することもできますが、そうするとシステム上のほかのユーザが、このディレクトリ内のデータの読み書きできるようになるリスクが生じる可能性があります。

警告

このディレクトリのセットアップ方法と使用を安全にする方法については、この節の冒頭 (ウェブサーバのアップロード/保存/インポートディレクトリ) を参照してください。

様々な表示設定

$cfg['RepeatCells']
Type:整数型
Default value:100

X セルごとにヘッダを挿入します。0 の場合は繰り返しません。

$cfg['QueryHistoryDB']
Type:論理型
Default value:false
$cfg['QueryHistoryMax']
Type:整数型
Default value:25

$cfg['QueryHistoryDB']true に設定した場合、ユーザのクエリはすべてテーブルに記録されます。ただし、このテーブルはユーザが作成する必要があります ($cfg['Servers'][$i]['history'] を参照)。 false に設定した場合、フォームにはすべてのクエリが追加されますが、保存されるのはウインドウが開いている間のみです。

JavaScript ベースのクエリウィンドウを使用している場合は、新しいテーブルやデータベースをクリックして閲覧するたびに更新され、クエリを使用した後に 編集 をクリックするとフォーカスされます。クエリのテキストエリアの下にある ウィンドウ外からこのクエリを上書きしない にチェックを入れることで、クエリウィンドウの更新を抑制することができます。そうすれば、テキストエリアの内容を失うことなくバックグラウンドでテーブル/データベースを閲覧できるので、最初に参照したテーブルを含むクエリを作成す る際には特に便利です。テキストエリアの内容を変更すると、チェックボックスは自動的にチェックされます。変更したにもかかわらず、どうしてもクエリウィンドウを更新したい場合はチェックを外してください。

$cfg['QueryHistoryDB']true に設定されている場合、保存する履歴項目の数は $cfg['QueryHistoryMax'] で指定できます。

$cfg['BrowseMIME']
Type:論理型
Default value:true

変換機能 を有効にします。

$cfg['MaxExactCount']
Type:整数型
Default value:50000

InnoDB テーブルにおいて、どの程度の大きさのテーブルまで SELECT COUNT で正確な行数を取得するかを指定します。SHOW TABLE STATUS によって返される概算の行数が設定した値より小さい場合は SELECT COUNT が使われますが、そうでない場合はこの概算数が使われます。

バージョン 4.8.0 で変更: パフォーマンスの理由から、デフォルト値は 50000 に下げられました。

バージョン 4.2.6 で変更: デフォルト値は 500000 に変更されました。

$cfg['MaxExactCountViews']
Type:整数型
Default value:0

ビューの場合は、正確な行数を取得するとパフォーマンスに影響を与える可能性があるので、この値は SELECT COUNT ... LIMIT を使用して表示される最大値です。 0 を設定した場合は、行カウントを省略します。

$cfg['NaturalOrder']
Type:論理型
Default value:true

データベースやテーブルの名前を自然な順番でソートします (t1、t2、t10、のように)。いまのところナビゲーションパネルとデータベースビューのテーブル一覧に実装されています。

$cfg['InitialSlidersState']
Type:文字列型
Default value:'closed'

'closed' に設定した場合、ビジュアルスライダーは最初は閉じた状態になります。 'open' はその逆です。すべてのビジュアルスライダーを無効にするには、 'disabled' を使用してください。

$cfg['UserprefsDisallow']
Type:配列型
Default value:array()

ユーザが環境設定から設定できないようにする設定オプションの名前 (配列 $cfg のキー) が入ります。指定可能な値については、 libraries/classes/Config/Forms/User/ を参照してください。

$cfg['UserprefsDeveloperTab']
Type:論理型
Default value:false

ユーザ設定環境に phpMyAdmin 開発者向け用のオプションタブを表示させます。

ページタイトル

$cfg['TitleTable']
Type:文字列型
Default value:'@HTTP_HOST@ / @VSERVER@ / @DATABASE@ / @TABLE@ | @PHPMYADMIN@'
$cfg['TitleDatabase']
Type:文字列型
Default value:'@HTTP_HOST@ / @VSERVER@ / @DATABASE@ | @PHPMYADMIN@'
$cfg['TitleServer']
Type:文字列型
Default value:'@HTTP_HOST@ / @VSERVER@ | @PHPMYADMIN@'
$cfg['TitleDefault']
Type:文字列型
Default value:'@HTTP_HOST@ | @PHPMYADMIN@'

ウィンドウのタイトルバーを指定することができます。 6.27 どのような書式の文字列が使えますか? が使用できます。

テーマ管理設定

$cfg['ThemeManager']
Type:論理型
Default value:true

ユーザが選択可能なテーマを有効にします。 2.7 テーマの使い方と作り方 を参照してください。

$cfg['ThemeDefault']
Type:文字列型
Default value:'pmahomme'

デフォルトのテーマ (./themes/ 以下のサブディレクトリ) です。

$cfg['ThemePerServer']
Type:論理型
Default value:false

サーバごとに別々のテーマを許可するかどうか。

$cfg['FontSize']
Type:文字列型
Default value:'82%'

バージョン 5.0.0 で非推奨: ブラウザがより効率的になったため、この設定は削除されました。したがって、このオプションは必要ありません。

使用するフォントの大きさです。 CSS に適用されます。

デフォルトクエリ

$cfg['DefaultQueryTable']
Type:文字列型
Default value:'SELECT * FROM @TABLE@ WHERE 1'
$cfg['DefaultQueryDatabase']
Type:文字列型
Default value:''

ユーザが指定しなかった時に、クエリボックスに表示されるデフォルトのクエリです。標準の 6.27 どのような書式の文字列が使えますか? を使用することができます。

MySQL 設定

$cfg['DefaultFunctions']
Type:配列型
Default value:array(...)

行の挿入・変更時にデフォルトで選択されている関数で、メタタイプ (FUNC_NUMBER, FUNC_DATE, FUNC_CHAR, FUNC_SPATIAL, FUNC_UUID) と、テーブルの最初のタイムスタンプのカラムに使用される first_timestamp のための関数が定義されています。

デフォルトの変換オプション

$cfg['DefaultTransformations']
Type:配列型
Default value:以下に示すキーと値の配列
$cfg['DefaultTransformations']['Substring']
Type:配列型
Default value:array(0, 'all', '…')
$cfg['DefaultTransformations']['Bool2Text']
Type:配列型
Default value:array('T', 'F')
$cfg['DefaultTransformations']['External']
Type:配列型
Default value:array(0, '-f /dev/null -i -wrap -q', 1, 1)
$cfg['DefaultTransformations']['PreApPend']
Type:配列型
Default value:array('', '')
$cfg['DefaultTransformations']['Hex']
Type:配列型
Default value:array('2')
$cfg['DefaultTransformations']['DateFormat']
Type:配列型
Default value:array(0, '', 'local')
$cfg['DefaultTransformations']['Inline']
Type:配列型
Default value:array('100', 100)
Type:配列型
Default value:array('', 100, 50)
Type:配列型
Default value:array('', '', '')

コンソール設定

注釈

以下の設定は主にユーザが変更するためのものです。

$cfg['Console']['StartHistory']
Type:論理型
Default value:false

開始時にクエリ履歴を表示

$cfg['Console']['AlwaysExpand']
Type:論理型
Default value:false

クエリメッセージを常に展開する

$cfg['Console']['CurrentQuery']
Type:論理型
Default value:true

現在のクエリを表示

$cfg['Console']['EnterExecutes']
Type:論理型
Default value:false

Enterでクエリを実行し、Shift + Enterで新しい行を挿入します

$cfg['Console']['DarkTheme']
Type:論理型
Default value:false

暗いテーマに切り替える

$cfg['Console']['Mode']
Type:文字列型
Default value:'info'

コンソールモード

$cfg['Console']['Height']
Type:整数型
Default value:92

コンソールの高さ

開発者向け

警告

この設定はパフォーマンスやセキュリティに重大な影響を与える可能性があります。

$cfg['environment']
Type:文字列型
Default value:'production'

動作環境を設定します。

これを変更する必要があるのは、 phpMyAdmin 自体を開発しているときのみです。development モードはいくつかの場所でデバッグ情報を表示する可能性があります。

指定可能な値は 'production' または 'development' です。

$cfg['DBG']
Type:配列型
Default value:array(...)
$cfg['DBG']['sql']
Type:論理型
Default value:false

コンソールの「SQL のデバッグ」タブで、クエリと実行時間の表示を有効にします。

$cfg['DBG']['sqllog']
Type:論理型
Default value:false

syslog へのクエリと実行時間のログ記録を有効にします。有効にするには、 $cfg['DBG']['sql'] を有効にする必要があります。

$cfg['DBG']['demo']
Type:論理型
Default value:false

サーバが自分自身をデモサーバとして表示できるようにします。これは、 phpMyAdmin デモサーバ に使用されます。

現在のところ、以下の動作を変更します。

  • メインページに歓迎メッセージを表示します。
  • デモサーバにと使用している git のリビジョンについての情報をフッタに表示します。
  • 設定が存在していても、セットアップスクリプトが有効になります。
  • セットアップで MySQL サーバへの接続を試みません。
$cfg['DBG']['simple2fa']
Type:論理型
Default value:false

単純な二要素認証 を使用して二要素認証をテストする際に使用されることがあります。

設定例

phpMyAdmin の一般的な設定については、以下の設定スニペットを参照してください。

基本的な例

設定ファイルの例で、config.inc.php にコピーするといくつかの主要な設定レイアウトを得ることができます。このファイルは phpMyAdmin でと一緒に config.sample.inc.php として配布されています。なお、ここにはすべての設定オプションが含まれているわけではなく、よく使用されるものだけが含まれていることに注意してください。

<?php
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in documentation in the doc/ folder
 * or at <https://docs.phpmyadmin.net/>.
 */

declare(strict_types=1);

/**
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/**
 * Servers configuration
 */
$i = 0;

/**
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

/**
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
// $cfg['Servers'][$i]['history'] = 'pma__history';
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
// $cfg['Servers'][$i]['users'] = 'pma__users';
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

/**
 * End of servers configuration
 */

/**
 * Directories for saving/loading files from server
 */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

/**
 * Whether to display icons or text or both icons and text in table row
 * action segment. Value can be either of 'icons', 'text' or 'both'.
 * default = 'both'
 */
//$cfg['RowActionType'] = 'icons';

/**
 * Defines whether a user should be displayed a "show all (records)"
 * button in browse mode or not.
 * default = false
 */
//$cfg['ShowAll'] = true;

/**
 * Number of rows displayed when browsing a result set. If the result
 * set contains more rows, "Previous" and "Next".
 * Possible values: 25, 50, 100, 250, 500
 * default = 25
 */
//$cfg['MaxRows'] = 50;

/**
 * Disallow editing of binary fields
 * valid values are:
 *   false    allow editing
 *   'blob'   allow editing except for BLOB fields
 *   'noblob' disallow editing except for BLOB fields
 *   'all'    disallow editing
 * default = 'blob'
 */
//$cfg['ProtectBinary'] = false;

/**
 * Default language to use, if not browser-defined or user-defined
 * (you find all languages in the locale folder)
 * uncomment the desired line:
 * default = 'en'
 */
//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';

/**
 * How many columns should be used for table display of a database?
 * (a value larger than 1 results in some information being hidden)
 * default = 1
 */
//$cfg['PropertiesNumColumns'] = 2;

/**
 * Set to true if you want DB-based query history.If false, this utilizes
 * JS-routines to display query history (lost by window close)
 *
 * This requires configuration storage enabled, see above.
 * default = false
 */
//$cfg['QueryHistoryDB'] = true;

/**
 * When using DB-based query history, how many entries should be kept?
 * default = 25
 */
//$cfg['QueryHistoryMax'] = 100;

/**
 * Whether or not to query the user before sending the error report to
 * the phpMyAdmin team when a JavaScript error occurs
 *
 * Available options
 * ('ask' | 'always' | 'never')
 * default = 'ask'
 */
//$cfg['SendErrorReports'] = 'always';

/**
 * You can find more configuration options in the documentation
 * in the doc/ folder or at <https://docs.phpmyadmin.net/>.
 */

警告

コントロールユーザー 'pma' がまだ存在しない場合は使用しないでください。また、パスワードとして 'pmapass' を使用しないでください。

サインオン認証モードの例

この例は examples/signon.php を使用して サインオン認証モード の使い方のデモをします。

<?php
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type']     = 'signon';
$cfg['Servers'][$i]['SignonSession'] = 'SignonSession';
$cfg['Servers'][$i]['SignonURL']     = 'examples/signon.php';

IP アドレスを限定した自動ログインの例

phpMyAdmin にローカルでアクセスするときには自動的にログインし、リモートアクセスする際にはパスワードを要求するようにしたいのであれば、次のスニペットで実現することができます。

if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
}

注釈

IP アドレスに基づくフィルタリングは、インターネット上で信頼できないので、ローカル アドレスでのみ使用してください。

複数の MySQL サーバを使用した例

$cfg['Servers'] を使用して任意の数のサーバを設定することができます。この例ではそのうち 2 つを設定しています。

<?php
$cfg['blowfish_secret']='multiServerExample70518';
//any string of your choice
$i = 0;

$i++; // server 1 :
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose']   = 'no1';
$cfg['Servers'][$i]['host']      = 'localhost';
// more options for #1 ...

$i++; // server 2 :
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose']   = 'no2';
$cfg['Servers'][$i]['host']      = 'remote.host.addr';//or ip:'10.9.8.1'
// this server must allow remote clients, e.g., host 10.9.8.%
// not only in mysql.host but also in the startup configuration
// more options for #2 ...

// end of server sections
$cfg['ServerDefault'] = 0; // to choose the server on startup

// further general options ...

SSL 経由で Google Cloud SQL を使用

Google Cloud SQL に接続するには、現在のところ証明書の検証を無効にする必要があります。これは、証明書が発行された CN がインスタンス名と一致しているにもかかわらず、 IP アドレスに接続し、 PHP がこれらの2つを比較しようとすることが原因です。証明書の検証では、次のようなエラーメッセージが表示されます。

Peer certificate CN=`api-project-851612429544:pmatest' did not match expected CN=`8.8.8.8'

警告

検証を無効にすると、トラフィックは暗号化されますが、中間者攻撃にさらされる可能性があります。

SSL を使用して phpMyAdmin を Google Cloud SQL に接続するには、クライアントとサーバの証明書をダウンロードし、 phpMyAdmin にそれらを使用するように指示してください。

// IP address of your instance
$cfg['Servers'][$i]['host'] = '8.8.8.8';
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// Client secret key
$cfg['Servers'][$i]['ssl_key'] = '../client-key.pem';
// Client certificate
$cfg['Servers'][$i]['ssl_cert'] = '../client-cert.pem';
// Server certification authority
$cfg['Servers'][$i]['ssl_ca'] = '../server-ca.pem';
// Disable SSL verification (see above note)
$cfg['Servers'][$i]['ssl_verify'] = false;

hCaptcha を使用した reCaptcha

$cfg['CaptchaApi'] = 'https://www.hcaptcha.com/1/api.js';
$cfg['CaptchaCsp'] = 'https://hcaptcha.com https://*.hcaptcha.com';
$cfg['CaptchaRequestParam'] = 'h-captcha';
$cfg['CaptchaResponseParam'] = 'h-captcha-response';
$cfg['CaptchaSiteVerifyURL'] = 'https://hcaptcha.com/siteverify';
// This is the secret key from hCaptcha dashboard
$cfg['CaptchaLoginPrivateKey'] = '0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// This is the site key from hCaptcha dashboard
$cfg['CaptchaLoginPublicKey'] = 'xxx-xxx-xxx-xxx-xxxx';