web-dev-qa-db-ja.com

phpMyAdminが#2002をスローして、mysqlサーバーにログインできませんphpmyadmin

MySQLサーバーエンタープライズ5.1をローカルマシンにインストールし、phpMyAdminをインストールしたいのですが、機能しません。

PhpMyAdminをサーバーのルートディレクトリに展開し、「localhost/phpMyAdmin/setup/index.php」を参照し、新しいサーバーを起動しました。変更した設定は、「config authのパスワード」フィールドにMySQLパスワードを入力することだけでした。

そのため、ログインしようとすると、「#2002はmysqlサーバーphpmyadminにログインできません」というエラーメッセージが表示されます。

誰が間違っているか知っていますか?私は昨日からこの問題を抱えています。

40
narancha

Phpmyadminへのログイン中に#2002 Cannot log in to the MySQL serverエラーが発生する場合は、phpmyadmin/config.inc.phpを編集して変更してください:

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

に:

$cfg['Servers'][$i]['Host'] = '127.0.0.1';

Ryanのブログ からのソリューション

編集(2015年3月20日):

新規インストールの場合、config.inc.phpが存在しない可能性があることに注意してください。 config.sample.inc.phpの名前を変更/コピーしてから、関連する行を変更する必要があります

118
kouton

これは古いですが、Googleでの最初の結果であるため、

これは、MySqlサービスが停止しているときにも発生することに注意してください。

次を使用してMySQLサーバーを再起動するだけでこれを修正しました。

/etc/init.d/mysql restart

sSH(コマンドはCentOS/CPanelサーバー用)

25
Vladimir

背景:Linux Mint 13を使用しています。私の場合、コンピューターを再起動し、DHCPがデスクトップに新しいローカルIPアドレス(192.168.0.2から192.168.0.4)を割り当てたときにこのエラーが発生しました。

Sudo gedit /etc/mysql/my.cnf

更新

bind-address = 192.168.0.2

bind-address = localhost

これにより問題が修正されました。楽しい。

9
Knight

これは、(私がやったように)config.inc.phpセットアップスクリプトの完了後、適切な場所に配置します。

configフォルダーを作成し、chmod o+rw configlocalhost/phpmyadmin/setupそしてこれらの手順に従って、コマンドラインに戻って作業を終了する必要があります。

mv config/config.inc.php .         # move file to current directory
chmod o-rw config.inc.php          # remove world read and write permissions
rm -rf config                      # remove not needed directory

https://phpmyadmin.readthedocs.org/en/latest/setup.html で完全な手順を参照してください

4
Geoffrey Booth

上記のすべての提案を試した後、#2002エラーが修正されました。

Config.inc.phpファイルに次の行を追加し、番号をMySQLポートに変更します。

$cfg['Servers'][$i]['port'] = '3307'; // MySQL port

複数のmysqlインスタンスがインストールされており、この場合、ポート3307でMySQLを実行するようにmy.iniを更新しましたが、新しいポートを反映するようにphpMyAdminを更新していません。私の場合、ポートの行はconfig.inc.phpファイルに存在しなかったため、更新が必要であることを知りませんでした。

4
jookyone

私は基本的にこのエラーのためにstackoverflowのすべてを行ってきましたが、私の問題は何も解決しませんでした。 Linuxコマンドラインから直接mysqlにログインできましたが、同じユーザーとパスワードではphpmyadminにログインできませんでした。

そのため、/ etc/phpmyadminの下にあるconfig.inc.phpを読めないことに気づくまで、半日壁に頭を打ちました(「find/-iname config.inc .php」。したがって、/ usr/share/phpMyAdmin/libraries/config.default.phpのホストを変更し、最終的に機能しました。

おそらく/ etc/phpmyadminフォルダーから構成を読み取らない理由に別の問題があることはわかっていますが、今のところそれを気にすることはできません:P

tldr;設定がまったく適用されないように思われる場合は、/ usr/share/phpMyAdmin/libraries/config.default.php内で変更を行ってください。

3
mbommel

マシンにMySQLをセットアップしましたか? Windowsを使用しているようです。 MySQLは、マシン上で「サービス」として実行されます(マイコンピューターを右クリック->管理->サービス)。

3
amphetamachine

AWSサーバーのインスタンスタイプを変更したとき、それは私に起こりました。

#2002 Cannot log in to the MySQL serverは、mysqldサービスが開始されていない場合にも発生する可能性があります。

まず最初に実行する必要があるのは:

$ Sudo service mysqld restart

これはあなたに与えます:

$ Sudo service mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]

その後、エラーは発生しません。

追伸EC2インスタンスでは、一番上の回答で述べたように、ホストをlocalhostから127.0.0.1に変更する必要もあります。

2
driftking9987

私も同じことを経験しましたが、うまくいけばこれが助けになります。

cd /etc/init.d
./mysql start

ログインしてmysqlとphpmyadminにアクセスしてください

2
Eka Wijaya

私のシステムでは、config.inc.phpは存在しませんでしたが、config.sample.inc.phpは存在していました。サンプルスクリプトをconfig.inc.phpにコピーしてみてください

1
Vikram

セットアップでこの問題が何度もあったため、チェックリストを作成しました。

これは、TCP/IPではなくUNIXソケットを使用してphpMyAdminをローカルにMySQLに接続することを前提としています。

UNIXソケットはオーバーヘッドが少ないため、わずかに高速である必要があり、ローカルにしかアクセスできないため、より安全になります。

サービス

  • Mysqldサービスは実行されていますか? service mysqld status
  • ..そうでない場合service mysqld start
  • サービスが開始されてから構成が変更されましたか? service mysqld restart

MySQL Config(my.cnf)

  • ソケット以外のクライアントプロトコルセットがないことを確認します。 protocol=tcp
  • ソケットの場所にアクセスでき、適切な権限があることを確認してください

PHP Config(php.ini)

コマンドラインからローカルに接続できるが、phpMyAdminからは接続できず、ソケットファイルがデフォルトの場所にない場合:

  • Mysqliのデフォルトソケットを新しい場所に設定します:mysqli.default_socket = *location*
  • ... pdo_myql.default_socketmysql.default_socketも設定します
  • Webサービスを再起動します(私の場合はhttpd)service httpd restart

phpMyAdmin Config(config.inc.php)

  • ホストがlocalhostに設定されていることを確認します:$cfg['Servers'][$i]['Host'] = 'localhost';
  • ソケットの場所もここで設定できます:$cfg['Servers'][$i]['socket'] = '*location*';

N.B。

@ chk; $cfg['Servers'][$i]['Host']localhostから127.0.0.1に設定すると、ソケットを使用するのではなくTCP/IPを使用する接続になり、解決策よりも回避策になります。

MySQLの設定bind-address=もTCP/IP接続にのみ影響します。

リモート接続が必要ない場合は、skip-networkingを使用してTCP/IPリッスンをオフにすることをお勧めします。

1
Arth

サーバーがDDoS(実際には侵入テストツール)を使用して攻撃された後、同じ問題が発生しました。

最初に/etc/var/mysql/error.logに移動して、InnoDBにファイルロックがあったことを確認しました。

この問題は、サーバーを再起動することですぐに修正されましたが、将来の問題ではありません。

1
igraczech
  • [マイコンピュータ]-> [管理]-> [サービス]を右クリックします。
  • 右ペインから「サービスとアプリケーション」の下の「サービス」を選択します
  • 次に、「Zend Development」サービスを検索します。
  • 見つかったら、ダブルクリックしてそのサービスを開始します。

これで、phpMyAdminにログインできるはずです。

1
AungKyaw Nyein

WindowsマシンでWAMP/XAMPを使用しているときにこのエラーが発生する場合。

これはあなたを助けるかもしれません。

あなたの解決策は

  • net stop mysql
  • バイナリログ(およびバイナリログインデックスファイル)を消去します
  • どこにあるかわからない場合は、PCでmy.iniを見つけてください。
  • メモ帳でmy.iniを開き、log-binまたはlog_binオプションを探します。
  • オプションdatadirを探します
  • Log-binにファイル名のみがある場合は、datadirで指定されたフォルダー内を見てください
  • Log-binにパスとファイル名が含まれる場合、log-binで指定されたフォルダー内を調べます。
  • Windowsエクスプローラーで目的のフォルダーを開きます
  • バイナリログを削除するファイル拡張子が.indexのファイルが必要です。これも削除しますmysql net start

バイナリログの問題がある場合は、ib_logfile0またはib_logfile1を消去しないでください。

回答はdba.stackexchangeにあります

0
dreboi

Php.iniファイルの次の行

mysql.default_socket = "MySQL"

mysql.default_socket = /var/run/mysqld/mysqld.sock
0
Ikelie Cyril

サーバーが実行されているかどうかを確認します。

0
Rajilesh Panoli

これを修正するための多くの試みの後、Mysqlユーザーがログインを許可されていないことが問題であることが判明しました。

netstat -na | grep -i 3306

すべてのインターフェイスでリッスンしている場合、任意のインターフェイスをこれに割り当てることができます

$cfg['Servers'][$i]['Host'] = 'ANY INTERFACE';

コマンドラインを使用して上記のIPを使用してログインしてみてください

mysql -u bla -p -h <Above_IP_address>

これが機能する場合、phpmyadminも機能します。mysql.userテーブルを修正しないと、上記のコマンドが機能し、mysqlにログインできます。

0
niroshan.l

[マイコンピュータ]を右クリック-> [管理]-> [サービス]右ペインから[サービスとアプリケーション]の下の[サービス]を選択し、[mysql]サービスを検索します。見つかったら、ダブルクリックしてそのサービスを開始します。

これで、PhpMyAdminを実行してログインできるはずです。

0
Masivuye Cokile

私の問題はこのステップで解決されます

  1. apt-get mysql-server phpmy adminをインストールします
  2. /etc/init.d/mysql restart
  3. できた。

CAUTION: This method completely removes MySQL data!

Ubuntu 12.10、mysql 5.5でも同じ問題があります

私は自分の問題に関連する多くの答えをテストしましたが、テーマの作品はありません

最後に、mysqlサーバーを完全に削除して再インストールする必要があり、その後、mysqlサーバーを再度インストールします。

しかし、MySQLに関連するすべてのディレクトリを削除する必要があることに注意する必要があります

Sudo apt-get remove --purge mysql-server mysql-client mysql-common
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo deluser mysql
Sudo rm -rf /var/lib/mysql
Sudo rm -rf /etc/mysql
Sudo rm -rf /var/lib/mysql
Sudo rm -rf /var/run/mysqld

そして、taskselによってLAMPを再度インストールします

MySQL 5.5を完全に削除する

https://serverfault.com/questions/254629/unable-to-install-mysql-server-in-ubuntu/296928#296928

0
masoud2011

この問題は、マシンにMySQLがすでにインストールされている場合、またはMySQLサービスのポスト番号を3306(デフォルト)に変更した場合これを解決するために、 phpMyAdminは3306の代わりに別のポートを探します。そうするには、C:\ xampp\phpMyAdmin(デフォルトの場所)に移動し、Config.incを開いてこの行を追加します$cfg['Servers'][$i]['port'] = '3307';$cfg['Servers'][$i]['AllowNoPassword'] = true;の後にサービスを再起動します。 。

0
Devashish Pawar

システムに「mysql」パッケージが2つインストールされているためです。 1つのインストールはxampp/lamppを介して行われ、別のインストールはmysql-debainパッケージを介して行われました。問題を解決するには、「シナプスマネージャ」に移動してmysqlを削除するだけで、xamppサーバーからmysqlにアクセスできるようになります。

注:mysqlをシナプスマネージャーから削除しても、xampp/lamppサーバーを介してインストールされたmysqlには影響しません。心配しないでください!

0
Zubaeyr

Ubuntu 14.04および16.04の場合、次のコマンドを適用できます

まず、MySQLサービスが実行されているかどうかを確認します

Sudoサービスmysqlステータス

次のようなメッセージが表示されていることがわかります。mysql stop/waiting

コマンドを適用します:Sudo service mysql restart

これで、mysql start/running、process 8313のようなメッセージが表示されていることがわかります。

ブラウザに移動して、root(username)およびroot(password)としてログインすると、正常にログインできます。

0
Ashutosh Batra

Ubuntu OSの「/etc/php5/Apache2/php.ini」ファイルで、 this pageに記載されている設定を行います。

0
Raha

私にとっては、問題は削除によって私のコンピューターにちなんで名付けられた.pidファイルによって解決されました:

Sudo rm /var/mysql/computername.pid
0
Martin Hagwall

誰かがもう問題を抱えている場合に備えて、これはかなり確実な修正です。

etc/hostsファイルをチェックして、すべてのホストのrootユーザーがいることを確認してください。

つまり.

127.0.0.1   home.dev

localhost   home.dev

したがって、mysqlのrootとして2人以上のユーザーがいます。

root@localhost
[email protected]

これが私の問題の解決方法です。

0
Victor Bojica

Windows 7レジストリのMySQLサービスのパスに問題がありましたが、新しくインストールされたXAMPPまたは新しいeasyPHPバージョンでは変更されませんでした。

したがって、誰かに同じ問題がある場合(#2002エラー、phpMyAdminを開始できません)、「my.ini」のwin regeditを検索して、新しいパッケージへのパスを交換できます。

たとえば、いくつかの場所で古いパスを交換しました。

C:\ EASYPH〜1.1VC\binaries\mysql\bin\eds-mysqld.exe --defaults-file = C:\ EASYPH〜1.1VC\binaries\mysql\my.ini MySQL

新しいものと:

c:\ xampp\mysql\bin\mysqld.exe --defaults-file = c:\ xampp\mysql\bin\my.ini mysql

誰もウェブ上でこの問題を以前に説明していなかったことは奇妙です!

0
Ivan Kirov