web-dev-qa-db-ja.com

エラー#1045-MySQLサーバーにログインできません-> phpmyadmin

IIS 7.0。を実行しているWindowsマシンにPHPMyAdminをインストールしました。
コマンドラインを使用してMySQLに接続できますが、PHPMyAdminを使用して接続することはできません。
表示されるエラー:Error #1045 Cannot log in to the MySQL server.
誰か助けてください。

PHP Version 5.4.0
mysqlnd 5.0.10 - 20111026 - $Revision: 323634 $
phpMyAdmin-3.5.4-rc1-all-languages.7z

編集:
以下のリンクをたどりましたが成功しませんでした。パスワードを変更しましたが、phpmyadminにはまだエラーがあります.
C.5.4.1.1。ルートパスワードのリセット:Windows Systems

また、助けのないスタックには以下のようなスレッドがあります:
ランダムエラー:#1045 MySQLサーバーにログインできません
しかし、そのエラーはランダムではありません->私は常にそのエラーを持っています...

そして、これはphpmyadminフォルダのconfig.inc.phpファイルです:

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Config file view and save screen
 *
 * @package PhpMyAdmin-setup
 */

if (!defined('PHPMYADMIN')) {
    exit;
}

/**
 * Core libraries.
 */
require_once './libraries/config/FormDisplay.class.php';
require_once './setup/lib/index.lib.php';
require_once './setup/lib/ConfigGenerator.class.php';

$config_readable = false;
$config_writable = false;
$config_exists = false;
check_config_rw($config_readable, $config_writable, $config_exists);
?>
<h2><?php echo __('Configuration file') ?></h2>
<?php display_form_top('config.php'); ?>
<input type="hidden" name="eol" value="<?php echo htmlspecialchars(PMA_ifSetOr($_GET['eol'], 'unix')) ?>" />
<?php display_fieldset_top('', '', null, array('class' => 'simple')); ?>
<tr>
    <td>
        <textarea cols="50" rows="20" name="textconfig" id="textconfig" spellcheck="false"><?php
            echo htmlspecialchars(ConfigGenerator::getConfigFile())
        ?></textarea>
    </td>
</tr>
<tr>
    <td class="lastrow" style="text-align: left">
        <input type="submit" name="submit_download" value="<?php echo __('Download') ?>" class="green" />
        <input type="submit" name="submit_save" value="<?php echo __('Save') ?>"<?php if (!$config_writable) echo ' disabled="disabled"' ?> />
    </td>
</tr>
<?php
display_fieldset_bottom_simple();
display_form_bottom();
?>

これらのコードのどこを変更すればよいですか?

ありがとう。

11
SilverLight

投稿で言及したリンクをたどった後、さらに2つのことを行う必要があります。

Phpmyadminのconfig.inc.phpで変更されたログイン証明書をマップする必要があります

次に、Webサーバーとmysqlサーバーを再起動する必要があります。

ここではphpバージョンは問題ではありません。phpmyadminインストールディレクトリに移動してファイルconfig.inc.phpを見つけ、そのファイルで現在のmysqlパスワードを行に入れる必要があります。

$cfg['Servers'][$i]['user'] = 'root'; //mysql username here
$cfg['Servers'][$i]['password'] = 'password'; //mysql password here
13
000

Linuxでは、ルートコマンドプロンプトタイプに移動してこの問題を解決します。

# mysqladmin -u root password 'Secret Phrase Here'

その後、戻ってログインします。毎回動作します!

18

初めてインストールする場合は、rootとしてユーザー名とパスワードでログインしてみてください

4
Aqueel

すべてがうまくいかなかった後に私のために働いた別のこと-config.inc.phpの「localhost」を127.0.0.1に変更します

3
ItamarBe

Mysql 5.7では、認証メカニズムが変更され、ドキュメントは公式マニュアル here にあります。

システムルートユーザー(またはSudo)を使用して、CLI経由でmysql 'root'ユーザーでmysqlデータベースに接続できます。他のすべてのユーザーも動作します。

ただし、phpmyadminでは、すべてのmysqlユーザーが機能しますが、mysqlの「root」ユーザーは機能しません。

これはここから来ます:

$ mysql -Ne "select Host,User,plugin from mysql.user where user='root';"
+-----------+------+-----------------------+
| localhost | root | auth_socket |
|  hostname | root | mysql_native_password |
+-----------+------+-----------------------+

このセキュリティ機能を「修正」するには、次のようにします。

mysql -Ne "update mysql.user set plugin='mysql_native_password' where User='root' and Host='localhost'; flush privileges;"

詳細については、マニュアルの here を参照してください。

2
sjas

[セキュリティ]タブでパスワードを変更する場合、2つのセクションがあり、1つは上に、もう1つは下にあります。ここでよくある間違いは、他の人がhtaccessに使用するアカウントよりも「下に」設定したアカウントでログインしようとするのに対し、上記のセクションで設定したパスワードにログインする必要があることです。それが私の修正方法です。

1
carl dallo

Ubuntuユーザーの場合、config.inc.phpファイルは次のようになります。

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
/* Server parameters */
$cfg['Servers'][$i]['Host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$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'] = '';
1
Vicky

多数の回答;これもチェックしてください。 mysqlのインスタンスが実行されていないことを確認してください。常にセッションが正常に終了しないことによってもたらされます。スーパーユーザー権限を取得します

須藤す

プロンプトが表示されたらパスワードを入力します(パスワードを入力しても何も表示されないので、パスワードを入力してEnterキーを押すだけでかまいません)。次に、ターミナルに移動して、すべてのmysqlインスタンスを停止します。

/etc/init.d/mysql stop

その後、mysqlサービスに移動して再起動します(またはxampp全体を再起動します)。これで私の問題が解決しました。ではごきげんよう。

0
alan

「phpmyadmin」にログインしてログアウトした場合、同じブラウザウィンドウで再度ログインしようとすると問題が発生する可能性があります。ログアウトにより、ブラウザは次のようなURLに送信されます。

http://localhost/phpmyadmin/index.php?db=&token=354a350abed02588e4b59f44217826fd&old_usr=tester

しかし、私にとって、SafariブラウザのMac OS Xでは、そのURLは機能しません。したがって、クリーンなURLを入力する必要があります。

http://localhost/phpmyadmin

理由はわかりませんが、2015年10月20日現在、それが私が経験していることです。

0
IAM_AL_X
Sudo service mysql stop

Sudo mysqld --skip-grant-tables &

mysql -u root mysql

Change MYSECRET with your new root password

UPDATE user SET Password=PASSWORD('MYSECRET') WHERE User='root'; FLUSH PRIVILEGES; exit;
0
user6154517