ユーザー 'root @ localhost'のアクセスが拒否されました(パスワード:NOを使用)


115

MySQLは初めてですが、WindowsデスクトップでWordPressを実行しようとしていますが、MySQLが必要です。

Web Platform Installerマイクロソフトが提供するものをすべてインストールします。MySQLのルートパスワードを設定したことはありません。WordPressのインストールの最後のステップで、MySQLサーバーのパスワードを要求されます。

rootのデフォルトのパスワード(ある場合)とその変更方法は?

私は試した:

mysql -u root password '123'

しかし、それは私を示しています:

Access denied for user 'root@localhost' (using password:NO)

この後私は試してみます:

mysql -u root -p

しかし、それは私が持っていないパスワードを要求します。


更新:Bozhoが示唆したように、私は次のことを行いました:

  1. MySQLサービスをWindowsサービスから停止しました
  2. CMDを開いた
  3. 場所をc:\ program files \ mysql \ binに変更しました
  4. 以下のコマンドを実行しました

    mysqld --defaults-file="C:\\program files\\mysql\\mysql server 5.1\\my.ini" --init-files=C:\\root.txt

  5. コマンドは、以下に述べた文字セットに関する警告で実行されました

  6. MySQLサービスをWindowsサービスから開始します
  7. コマンドラインで書く

    mysql -u root -p EnterPassword: 123 // 123 was the password

  8. コマンドラインに次のエラーが表示される

    Access denied for user 'root@localhost' (using password:**YES**)

どうすればこれを解決できますか?ご連絡をお待ちしております。


1
最初のコマンドは間違っています。-pまたは--passwordである必要がありpasswordますが、ではありません。これが、mysqlがUSING PASSWORD NOで応答する理由です。
Konerak

3
誰も彼に明白な答えを出していないようです。最初のインストール後、ユーザーrootID のパスワードは空白です。したがって、実行mysql -u root -pしてEnter キーを押すだけです。つまり、パスワードを空白のままにします。もちろん、rootユーザーIDにパスワードを設定します。
RiggsFolly 2015

1
@RiggsFollyいいえ、動作しません!空白のパスワードでアクセスが拒否されました!
J86 2015

受け入れられた答えが正しいかどうかわからないので、コメントを追加したいと思います。私はmysql -u root -pと入力し、パスワードの入力を求められたら、正しいもの(インストール時に設定されたもの)が機能するようにします。代わりに、存在することがわかっているDBを使用してDBの名前を-pに証明することはできませんでした。
カーマインタンバスシア

回答:


48

rootパスワードリセットできます。パスワードなしでrootを使用することはお勧めできません。


@Bozho-私は指示に従い、テキストファイルを作成し、前述のコマンドからそれを呼び出します。その後、100608 [warning] --default-character-set is deprecated and will be removed in a future release. please use --character-set-server instead.------------------------ --------そして最後にmysqlサービスを再び開始すると、正確なエラーに直面しますが、今回は(using password:yes)どうすればよいですか?
Nasser Hadjloo 2010年

@Bozo -と私はあなたのコマンドを実行することができなかったことに注意してくださいmysqldt-nt、私はでそれを実行mysqldt -ntActuallythe最初のものは、cmdの認識ではありません。ご連絡をお待ちしております。
Nasser Hadjloo 2010年

@Bozho-バグで質問を更新しました。お時間をいただきありがとうございます。
Nasser Hadjloo 2010年

@Bozho-mysqlエラーを更新/カスタマイズする方法はありますか?**「ユーザー 'root @ localhost'のアクセスが拒否されました(パスワード:NOを使用)」を「ユーザー 'myname @ localhost'のアクセスが拒否されました(パスワード:NOを使用)」に
更新

81

この種のエラーの場合。新しいパスワードを管理者としてrootユーザーに設定するだけです。次の手順に従います。

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. 実行中のmysqlのサービス/デーモンを停止します

    [root ~]# service mysql stop   
    mysql stop/waiting
    
  2. 次のオプションを使用して、権限なしでmysqlを起動します。このオプションは起動に使用され、MySQLの特権システムを使用しません。

    [root ~]# mysqld_safe --skip-grant-tables &

この時点で、端末は停止しように見えます。そうし、次のステップで新しいターミナルを使用します。

  1. mysqlコマンドプロンプトに入る

    [root ~]# mysql -u root
    mysql> 
    
  2. rootユーザーの権限設定を修正します。

    mysql> use mysql;
    Database changed
    mysql> select * from  user;
    Empty set (0.00 sec)
    mysql> truncate table user;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    

*パスワードが必要ない、または空のパスワードが必要な場合

    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
    Query OK, 0 rows affected (0.01 sec)*
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

結果を確認します。

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. シェルを終了し、mysqlを通常モードで再起動します。

    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
    
  2. これで、設定したパスワードでrootユーザーとして正常にログインできます

     [root ~]# mysql -u root -pYourNewPassword 
     mysql> 
    

2
「[root〜]#mysqld_safe --skip-grant-tables&」の後にEnterキーを押し、別のターミナルを開いて「[
root〜

私はこの問題に遭遇し、私はたくさんのことをしました、ちょうどdbサービスの再起動を忘れてください...どうもありがとう!
ブルース・リー

3
ステップ3で、私が取得ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
MrMartin

4
@MrMartin、そのディレクトリsudo mkdir -p /var/run/mysqldを作成して許可を与えますsudo chown mysql:mysql /var/run/mysqld
niceday

これは私を大いに助けた答えです!
ジョーンズG

17

1)MySQLコンソールを呼び出すことにより、rootパスワードを設定できます。にあります

C:\wamp\bin\mysql\mysql5.1.53\bin デフォルトでは。

ディレクトリに移動し、MySQLと入力します。次に、パスワードを次のように設定します。

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2)wampのphpmyadminアプリケーションを編集してrootユーザー用に設定できます

C:\wamp\apps\phpmyadmin3.3.9\config.inc.php 

注: -xamppを使用している場合、ファイルは次の場所にあります

C:\xampp\phpMyadmin\config.inc.php

次のようになります。

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

falseに設定$cfg['Servers'][$i]['AllowNoPassword']すると、「ユーザー 'root @ localhost'のアクセスが拒否されました(パスワード:NOを使用)」エラーが解決され ます

「root @ localhost」のパスワードを以前に変更した場合、「ユーザー「root @ localhost」のアクセスが拒否されました」というエラーを解決するには、2つのことを行う必要があります。

  1. ['password']に''のような空の引用符がある場合は、引用符の間にパスワードを入れます。
  2. (password:NOを使用)を(password:YESを使用)に変更します

これでエラーが解決します。

注:phpmyadminはwampに付属する別のツールです。MySQLへのインターフェースを提供するだけです。SQLルートのパスワードを変更する場合は、phpmyadmin構成を変更する必要があります。通常、phpmyadminはrootユーザーに設定されています。


いいえ、できません。mysqlは起動しません:c:\ wamp64 \ bin \ mysql \ mysql5.7.23 \ bin> mysql ERROR 1045(28000):Access 'dened for user' ODBC '@' localhost '(using password:NO)
Jaxx0rr

9

OS X Elキャプテンでも同じエラーが発生しました。Mysqlバージョン5.7。これらの手順を実行した後、ルートを使用してmysqlに接続できました。

mysqlサーバーを停止します。

sudo mysql.server stop

MySQLをセーフモードで起動します

sudo mysqld_safe --skip-grant-tables

mysqldを使用して、データベースをmysqlに変更し、ユーザー「root」の詳細を更新します。

show databases;
use mysql;
UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
exit;

その後、「mysqld_safe」プロセスを終了し、mysqlを通常どおりに起動します。rootと新しいパスワードを使用してmysqlにログインできるはずです。詳細についてはSQLドキュメント


4

my.iniC:\ xampp \ mysql \ binパスのファイルを編集するだけです。追加するだけです:

skip-grant-tables

ライン間でのライン# The MySQL server [mysqld]port=3306。次に、MySQLサーバーを再起動します。

次のようになります。

スクリーンショット


これを行うと、別のエラーが発生しますcommunications link failure
Ahmed Hussein

3

MySQLサービスがマシンで実行されていることを確認してから、MySQLの指示に従ってルートを最初にセットアップします(「windows」を検索すると、ルートのセットアップ手順が表示されます)。

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html


2番目のステップで必要なパスワードがないので、このソリューションは機能しません。
Nasser Hadjloo 2010年

これは私がリンクを送信したときに見ていたものですが、これは機能しませんか?古いパスワードへの参照がありません。Windowsの場合は、次のようにします。shell> mysql -u root mysql> SET PASSWORD FOR 'root' @ 'localhost' = PASSWORD( 'newpwd'); mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD( 'newpwd'); mysql> SET PASSWORD FOR 'root' @ '%' = PASSWORD( 'newpwd');
sholsapp

1
以前に書いたとき私が書いたときにmysql -u root問題に直面し、mysqlにログインして2行目を実行できません。このコマンドの使い方は?
Nasser Hadjloo

3

mysql -u root -pを使用します。パスワードを要求し、パスワードを挿入して入力します。


これは、ユーザーのアクセスが拒否された後に機能しました。
ショーンW

2

誰かがエラーを受け取った場合の別の解決策ユーザーアカウント「root」に指定されたパスワードが無効であるか、正しいパスワードでもデータベースサーバーに接続できなかった場合は、次のようになります。

•Windowsレジストリで、HKCU \ Software \ Microsoft \ WebPlatformInstallerの下のmysql_pwd regキーを削除します

•Unistallの古いバージョンのMySQL .NETコネクタ

•最新のMySql .NETコネクタをダウンロードしてインストールします


パスワードとデータベース名の確認が
うまくいき

2

MySQL 5.7の場合。これらは以下のステップです:

MySQLサーバーを完全に停止します。これは、MySQLサービスを停止できるWindows XPおよびWindows Server 2003内の[サービス]ウィンドウにアクセスすることで実行できます。

実行ウィンドウ内の「cmd」を使用してMS-DOSコマンドプロンプトを開きます。その内部で、cdコマンドを使用して、C:\ MySQL \ binなどのMySQL binフォルダーに移動します。

コマンドプロンプトで次のコマンドを実行します。mysqld.exe -u root --skip-grant-tables

現在のMS-DOSコマンドプロンプトをそのままにして、新しいMS-DOSコマンドプロンプトウィンドウを開きます。

cdコマンドを使用して、C:\ MySQL \ binなどのMySQL binフォルダーに移動します。

mysqlと入力して、Enterキーを押します。

これで、MySQLコマンドプロンプトが機能するはずです。「use mysql;」と入力します。「mysql」データベースに切り替えます。

次のコマンドを実行してパスワードを更新します。

update user set authentication_string = password( '1111')where user = 'root';


1

コードで、「ルート」をサーバーのユーザー名に置き換え、パスワードをサーバーのパスワードに置き換えます。たとえば、サーバーhttp://www.example.comに DBファイルとphpファイルがある 場合は、ユーザー名とパスワードを使用してこのサーバーサイトにアクセスする必要があります。


1

XAMPPを使用している場合は、に移動してからfind 行をC:\xampp\phpMyAdmin開き、そこにパスワードを入力してください。config.inc.php$cfg['Servers'][$i]['password'] = ''


1

いくつかの情報について、パスワードを変更した後にエラーが発生しました:

ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:NO)

ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:YES)

どちらの場合もエラーが発生しました。

しかし、それは私がそれを試した後です

mysql -uroot -ppassword の代わりに

mysql -u root -p password -> -urootと-ppasswordの間にスペースを入れて、問題が発生した場合にこの方法を試してください。


0

Wampのインストールまたはrootユーザーのパスワードオプションの変更が原因で発生する場合があります。privilages-> root(ユーザー)を使用し、パスワードオプションをNOに設定して、パスワードなしで実行するか、パスワードを設定してアプリケーションで使用できます。


0
  1. パスワードをのconfig.inc.php現在のものから変更しますC:\xampp\phpMyAdmin
  2. 入力mysql -u root -pコマンドプロンプトで。
  3. パスワードの入力を求められます。で更新したパスワードを入力しますconfig.inc.php

0

ポートを非標準のものに変更した場合は、それを指定する必要があります。

$ connection = mysqli_connect( 'localhost:3308'、 'root'、 ''、 'loginapp');


-3
mysqladmin -u root -p password

あなたの〜を入力してください current password

その後

あなたの〜を入力してください new password


1
重要なのは、OP 現在のパスワードが設定されことがないため、それを知らないということです。
Nateowami 2014

パスワードは知っていましたが、一時パスワードでのログインに問題がありました。この答えは私のために働きました
Bernard
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.