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

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

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

私はWeb Platform InstallerMicrosoft から提供されているものをすべてインストールします。MySQL のルート パスワードを設定したことは一度もありませんが、WordPress のインストールの最後の手順で、MySQL サーバーのパスワードを求められます。

root のデフォルトのパスワード(ある場合)は何ですか、またそれを変更するにはどうすればよいですか?

私は試した:

mysql -u root password '123'

しかし、それは私に次のことを示しています:

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

この後、次のことを試します:

mysql -u root -p

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


アップデート: Bozho の提案に従って、次の操作を実行しました。

  1. WindowsサービスからMySQLサービスを停止しました

  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. WindowsサービスからMySQLサービスを起動します

  7. コマンドラインで書く

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

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

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

これをどうやって解決すればいいでしょうか?

ベストアンサー1

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

[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. ルートユーザーの権限設定を修正します。

     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> 
    

おすすめ記事