ホームページ  >  記事  >  php教程  >  phpMyAdmin 2.x.x

phpMyAdmin 2.x.x

WBOY
WBOYオリジナル
2016-06-21 09:08:48833ブラウズ

はじめに
phpMyAdmin は、MySQL サーバー全体 (スーパー ユーザーが必要) または単一のデータベースを管理できます。後者を実現するには、許可されたデータベースに対してのみ読み取り/書き込みができるように、MySQL ユーザーを適切に設定する必要があります。それは、MySQL マニュアルの関連セクションを読むまでです。

クイックインストール

phpMyAdmin ソフトウェアパッケージをディレクトリに解凍します。
config.inc.php3 を開き、$cfgServers[1]['host']、$cfgServers[1]['user']、および
$cfgServers[1]['password'] の値を変更します。環境。以下の設定セクションにリストされているすべての設定可能な変数を確認し、状況に応じて他のパラメータを変更できます。
phpMyAdmin をインストールした後、そのディレクトリを保護することをお勧めします (イントラネット上にある場合を除く)。たとえば、HTTP-AUTH (.htaccess ファイルを使用) を使用できます。
ブラウザでファイルを開きます: インストールホストのドメイン名/インストールディレクトリ/index.php3。 phpMyAdmin にようこそ画面とデータベースが表示されます。
phpMyAdmin は複数の言語をサポートしています。中国語版に変更したい場合は、config.inc.php3 の require("english.inc.php3"); を require("chinese_gb.inc.php3") に変更します。このようにすると、インターフェースは中国語になります。なんてすごいんだ!
config.inc.php3を保存します。
インストールに関する注意事項
phpMyAdmin ディレクトリが保護されていることを確認してください。デフォルトでは保護なしです。不特定の人、特に検索エンジンに読まれるべきではありません。
各ページに「nofollow」ディレクティブを追加しましたが、一部の検索エンジンはリンクを考慮せず、引き続きページにアクセスする可能性があります。
AltaVista が「Drop Dtabase」というリンクにアクセスした場合に何が起こるかを想像してみてください。 http://www.apacheweek.com/features/userauth では、
Apache の認証方法を包括的に理解できます。別のチュートリアル
http://deepthought.texsci.edu/protected_dirs.html
PHP3 は、magic_quotes=on で設定する必要があります。
設定
設定可能なデータはすべてconfig.inc.php3に配置されます。

$cfgServers 配列
バージョン 1.4.2 以降、phpMyAdmin は複数の MySQL サーバーの管理をサポートします。したがって、さまざまなサーバーのログイン情報を保存するために $cfgServers 配列が追加されます。 $cfgServers[1]['host'] には最初のサーバーのホスト名が含まれ、$cfgServers[2]['host'] には 2 番目のサーバーのホストなどが含まれます。管理するサーバーが 1 つだけの場合は、他の $cfgServers ポートのホスト名を単純に無視できます。

$cfgServers[n]['port'] string
n番目のMySQLサーバーのポート番号。デフォルト値は 3300 (空のまま) です。

$cfgServers[n]['host'] string
n番目のMySQLサーバーのホスト名。たとえば、ローカルホスト。

$cfgServers[n]['adv_auth'] ブール値
このサーバーには基本認証または高度な認証を使用する必要があります。基本認証 ($adv_auth = false) は昔ながらの認証です:
ユーザー名とパスワードは config.inc.php3 に保存されます。高度な認証 ($adv_auth = true) がバージョン 1.3.0 で導入され、HTTP-Auth 経由で正規の MySQL ユーザーとしてログインできるようになりました。 config.inc では、MySQL に接続して、mysql ライブラリの user/db テーブルを読み取ることができる標準ユーザーを指定するだけです ($cfgServers[n]['stduser'] を参照)。

高度な管理に推奨される機会:

phpMyAdmin がマルチユーザー環境で実行されており、ユーザーがシェル処理権限を持っている場合は、MySQL のユーザー名/パスワードを知りたくないでしょう。
ユーザーが自分のデータベースにアクセスできるようにし、他のユーザーに干渉したくない場合。
高度な認証方法は、標準ユーザーに必要なのは mysql ライブラリへの読み取り専用権限のみであるため安全です。 MySQL パスワードは簡単に解読できないため、一般のユーザーが他のユーザーのクリアテキスト パスワードを見る機会はありません。

$cfgServers[n]['user'] string
$cfgServers[n]['password'] string
基本認証を使用する場合、phpMyAdmin はユーザー名とパスワードのペアを使用してこの MySQL サーバーに接続します。高度な認証方法
を使用する場合は必要ありません。

$cfgServers[n]['stduser'] 文字列
$cfgServers[n]['stdpass'] 文字列
高度な認証モードを使用する場合、実際のユーザー名とパスワードが正しいことを確認するためにユーザー名とパスワードのペアが使用されます。このユーザーは MySQL に接続し、mysql ライブラリのユーザー テーブルを読み取ることができる必要があります。 Basic認証を使用する場合は不要です。

$cfgServers[n]['only_db'] string
データベース名が設定されている場合、このデータベースのみがユーザーに表示されます。

$cfgServers[n]['verbose'] string
複数のサーバーエントリを使用する場合にphpMyAdminを使用する場合にのみ役立ちます。設定すると、この文字列がメイン ページのドロップダウン メニューのホスト名の代わりに表示されます。たとえば、これはシステム上の特定のデータベースのみを表示したい場合に便利です。


$cfgManualBase string
URL (MySQL ドキュメントを指す) に設定すると、対応するヘルプ リンクが作成されます。


$cfgPersistentConnections ブール値
永続的な接続 (mysql_connect または mysql_pconnect) を使用するかどうか。

$cfgブール値の確認
データが失われそうになったときに、警告メッセージ (「本当によろしいですか...」) を表示する必要がありますか?

$cfgMaxRows integer
結果セットを参照するときに表示されるレコードの数。結果セットにさらに多くのデータが含まれている場合は、前/次のページへのリンクが表示されます。

$cfgMaxInputsize integer
テーブルに新しいレコードを追加するときに、フィールドのサイズを編集します。

$cfgBorder integer
テーブルの境界線のサイズ。

$cfgThBgcolor string [HTML color]
テーブルヘッダーで使用される色。

$cfgBgcolorOne string [HTML color]
テーブル行の最初の行の色。

$cfgBgcolorTwo string [HTML color]
テーブル行の2行目の色です。

$cfgOrder string ["DESC"|"ASC"]
フィールド名をクリックしたときにフィールドを昇順("ASC")で表示するか降順("DESC")で表示するかを定義します。

$cfgShowBlob Boolean
テーブルの内容を参照するときに BLOB フィールドを表示するかどうかを定義します。

$cfgShowSQL ブール値
phpMyAdmin が生成した SQL クエリ文を表示するかどうかを定義します。

$cfgColumnTypes 配列
MySQL 列の可能なすべてのタイプ。ほとんどの場合、編集する必要はありません。

$cfgFunctions配列
MySQLでサポートされている関数のリスト。ほとんどの場合、編集する必要はありません。

$cfgAttributeTypes 配列
フィールドの可能な属性。ほとんどの場合、編集する必要はありません。

FAQ - よくある質問
新しいレコードをテーブルに挿入できません -- MySQL が SQL エラーを返します。

SQL エラーを注意深く確認してください。多くのプログラマーが間違ったフィールド型を使用していることがわかりました。一般的なエラーには以下が含まれます:

サイズを指定せずに VARCHAR を使用する
サイズを指定するために TEXT または BLOB を使用する
さらに、MySQL マニュアルの構文の章を調べて、構文が正しいことを確認してください。

phpMyAdmin は MySQL に接続できません。何が悪かったのか?

PHPのインストールに問題があるか、ユーザー名/パスワードが間違っています。 mysql_connect を使用する小さなスクリプトを作成して、それが機能するかどうかを確認してください。そうでない場合は、MySQL が PHP にコンパイルされていない可能性があります。

README には phpMyAdmin の機能であると記載されていますが、テーブルの内容を編集できません。


phpMyAdmin では、主キーまたは一意のキー値を持つテーブルの内容のみを編集できます。

高度な認証管理を使用している場合、phpMyAdmin は常に「アクセスが拒否されました」と表示されます。

これはいくつかの理由で発生する可能性があります:

$stduser/$stdpassword が間違っています。 $adv_auth をオフにして、このユーザー名とパスワードを使用して MySQL に接続してみてください。
ログインダイアログボックスで指定したユーザー名/パスワードが間違っています。上記と同じ方法を試して、うまくいくかどうかを確認してください。
phpMyAdmin インストール ディレクトリ (.htaccess ファイルなど) のセキュリティ メカニズムが確立されました。 phpMyAdminの認証管理に支障をきたす可能性があるため、削除してください。
phpMyAdminの開発を手伝いたいと思っています。どのように進めればよいでしょうか?

新しい開発者には次の方法が推奨されます:

匿名 CVS で現在の CVS を取得します:
cvs -d :pserver:anon@www.htmlwizard.net:/usr/local/cvsroot ログイン
[パスワード: phpMyAdmin]
cvs -d :pserver:anon@www.htmlwizard.net:/usr/local/cvsroot checkout phpMyAdmin
[これにより、phpMyAdmin という名前の新しいサブディレクトリが作成されます]
内容を追加してください
変更したファイル (tar 形式または gzip 形式) を送信してくださいCVS ツリーへの書き込み権限は、phpMyAdmin に貢献した経験豊富な開発者にのみ付与されます。

DEVELOPERS ファイルもご覧ください。
phpMyAdmin を悪意のある攻撃に対してより安全にする良い方法はありますか?

これはシステムによって異なります。他のユーザーが使用できないサーバーを実行している場合は、Web サーバーのディレクトリ保護バインディング
を使用するだけで十分です (たとえば、Apache の場合は .htaccess ファイルを使用できます)。他の人が Telnet 経由でサーバーにアクセスできる場合、MySQL パスワードをクリア テキストで config.inc.php3 ファイルに保存することは得策ではありません。この場合、
phpMyAdmin の高度な認証機能を使用する必要があります。

テーブルに null 値を挿入するにはどうすればよいですか?

フィールドの値として「null」(引用符なし)を入力します。これは、タイムスタンプまたは自動インクリメントフィールドに特に便利です。

私は ISP プロバイダーです。 phpMyAdmin のマスターコピーをインストールできますか?それとも顧客ごとに 1 つずつインストールする必要がありますか?

バージョン 2.0.3 以降、すべてのユーザーに phpMyAdmin のマスター コピーをインストールできます。この機能の開発は
NetCologne GmbH によって開始されました。これには、MySQL ユーザーを適切に設定し、phpMyAdmin の高度な認証方法を設定する必要があります。ユーザーを認証するとき、phpMyAdmin は次の手順を実行します:

ユーザー名/パスワードが要求ユーザーと一致する mysql.user テーブルからすべてのレコードを選択します。レコードが返されない場合、認証は失敗します。
それ以外の場合、phpMyAdmin はステップ 2 に進みます。
ユーザーのグローバル Select_Priv が「N」の場合 (つまり、ユーザーがすべてのデータベースへのアクセスを許可されていない場合)、phpMyAdmin は mysql.db テーブルを検索して、このユーザーの Select_Priv="Y" を持つレコードを見つけます。レコードが見つからない場合、認証は失敗します。それ以外の場合、phpMyAdmin
はユーザーが表示を許可されているすべてのデータベースを表示します。
ユーザーのグローバル Select_Priv が「Y」の場合、システム内のすべてのデータベースが表示されます。

これは、次のように mysql ライブラリにユーザーを追加する必要があることを意味します:

INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv 、References_priv、Index_priv、Alter_priv) VALUES ('localhost', 'foo', PASSWORD('bar'), 'N', 'N', 'N', 'N', 'N', 'N', 'N ' 、 'N'、 'N'、 'N'、 'N'、 'N'、 'N'、 'N')
INSERT INTO db (Host、Db、User、Select_priv、Insert_priv、Update_priv、Delete_priv、Create_priv) 、Drop_priv、Grant_priv、References_priv、Index_priv、Alter_priv) VALUES ('localhost'、'foo_db'、'foo'、'Y'、'Y'、'Y'、'Y'、'Y'、'Y'、' ' , '', '', '')

そうすると、ユーザー foo の場合は、「foo_db」ライブラリのみが表示されます。

phpMyAdmin ホームページ: http://www.htmlwizard.net/phpMyAdmin/




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。