1

基本的に、config.inc.php ファイルに問題があります。しかし、私が気付いていない他の何かを台無しにしてしまった場合に備えて、一連のイベントについて説明します。

phpMyAdmin でデータベースを構築しました。これは、localhost で数か月使用しています。XAMPPでインストールしました。ファイルphpMyAdmin Version 3.5.7によると、それはです。XAMPP/xamppfiles/phpMyAdmin/README

しばらくの間、私は離れていました['controluser'] = 'pma' and ['controluserpass'] = 'pmapass'。数週間前、私はこれらの値を変更しましたが、phpMyAdmin が私に

「設定で定義された controluser への接続に失敗しました」

常に警告。それでも、やるべきことはすべてできました。だから私は自分のデータベースを使い続けました。

昨日、8 時間以上続いたクエリを強制終了する必要がありました。その後、phpMyAdmin は他のデータベースとテーブルの読み込みが少し遅くなったようです。そこで、XAMPP を開き、MySQL の停止ボタンを押しました。明らかに、このボタンで MySQL が停止することはなくなりました。考えているかのようにアイコンがぐるぐる回るだけ。そのため、今日の時点で、XAMPP コントロール インターフェイスを使用するのではなく、ターミナルから直接 MySQL を停止および開始しています。

controluser に対する警告が表示されたので、config.inc.php ファイルを書き直して、そこにあった問題を解決することにしました。残念ながら、私は事態を悪化させただけです。現在、データベースにまったくアクセスできません。

config.inc.php ファイルの設定方法を調べるのに今日 5 時間費やしましたが、まだデータベースにアクセスできません。以前は、「config」オプションを使用してセットアップし、パスワードを入力する必要はありませんでした。理想的には、パスワードでセキュリティを確保したいと考えています。しかし、この段階では、データベースへのアクセスを回復できれば幸いです。

現在、localhost/phpmyadminログイン ページに移動します。デフォルトでは、「username」に「root」が入力されています。しかし、ログインできないようです。config.inc.php に加えた調整によっては、「ユーザー名」がデフォルトで意味不明になることがあります。また、ログインの代わりにエラー メッセージが表示される場合もあります。パスワードに何を入力しても、phpMyAdmin はそれを受け入れません。

2002 MySQL サーバーにログインできません

それ以外の場合は、次のエラーが発生します。

2002 - ソケット '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' を介してローカル MySQL サーバーに接続できません (2) サーバーが応答していません (またはローカル サーバーのソケットが正しく構成されていません)。

私は前後に切り替えてみました

$cfg['Servers'][$i]['auth_type'] = 'cookie'

$cfg['Servers'][$i]['auth_type'] = 'config'

との間

$cfg['Servers'][$i]['connect_type'] = 'tcp'

$cfg['Servers'][$i]['connect_type'] = 'socket'

との間

$cfg['Servers'][$i]['AllowNoPassword'] = false

$cfg['Servers'][$i]['AllowNoPassword'] = true

との間

$cfg['Servers'][$i]['host'] = 'localhost'

$cfg['Servers'][$i]['host'] = '127.0.0.1'

私のデータベースへのアクセスを許可するものはないようです。

現時点では、ログイン画面と次のエラーが表示されます。

2002 MySQL サーバーにログインできません

何を変更すればよいですか?以下は私のconfig.inc.phpファイルです:

<?php

$cfg['blowfish_secret'] = '89x7a3f';

$i = 0;

$i++;

$cfg['Servers'][$i]['auth_type'] = 'cookie';

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['AllowRoot'] = true;

$cfg['Servers'][$i]['connect_type'] = 'tcp'; 

$cfg['Servers'][$i]['compress'] = true;

$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'pass';

// $cfg['Servers'][$i]['controlhost'] = '';

$cfg['Servers'][$i]['controluser']   = 'pma';
$cfg['Servers'][$i]['controlpass']   = 'pmapass';

$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['DefaultConnectionCollation'] = 'utf8_general_ci';

$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';

// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

$cfg['DefaultLang'] = 'en';


?>
4

2 に答える 2

4

データベースにアクセスする必要があり、ログイン資格情報がわかっている場合は、adminer を使用してみてください。

http://www.adminer.org/

これは、Web サーバーにドロップする単一の PHP ファイルであり、phpMyAdmin のようなセキュリティ ホールの履歴はありません。MySQL と Postgres の両方で、すべての phpMyAdmin インストールを adminer に置き換えましたが、うまく機能します。

于 2013-08-02T23:37:16.057 に答える