programing

사용자 'root@localhost'에 대한 액세스가 거부되었습니다(암호 사용:아니요)

copysource 2022. 9. 25. 15:01
반응형

사용자 'root@localhost'에 대한 액세스가 거부되었습니다(암호 사용:아니요)

MySQL이 처음이라 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**)

이거 어떻게 풀어요?연락을 기다리고 있겠습니다.

root 사용자에게 admin으로서 새로운 패스워드를 설정하기만 하면 됩니다.다음의 순서에 따릅니다.

[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> 
    

루트 패스워드를 리셋 할 수 있습니다.패스워드 없이 루트를 사용하는 것은 권장되지 않습니다.

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;

user 'root@ ( "root@localhost" 사용)는 [NO],"NO", "NO"로 됩니다.$cfg['Servers'][$i]['AllowNoPassword']거짓으로

비밀리에 'root@localhost' 비밀번호를 변경한 경우 "Access denied for user 'root@localhost'" 오류를 해결하려면 다음 두 가지 작업을 수행해야 합니다.

  1. ['password']에 '와 같은 빈 따옴표가 있는 경우 따옴표 사이에 비밀번호를 입력합니다.
  2. 를 변경합니다(패스워드 사용:아니오) 종료(비밀번호 사용:네)

이렇게 하면 오류가 해결됩니다.

주의: phmyadmin은 wamp와 함께 제공되는 별도의 도구입니다.MySQL에 대한 인터페이스만 제공합니다.내 sql root의 비밀번호를 변경하면 phpmyadmin 설정을 변경해야 합니다.보통 phpmyadmin은 root 사용자로 구성됩니다.

mysql -u root -p 사용 비밀번호 입력을 요청하고 비밀번호를 입력한 후 입력합니다.

OS X El 캡틴에서도 같은 에러가 발생하고 있었습니다.Mysql 버전 5.7. 이 절차를 수행한 후 root을 사용하여 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 문서

편집만 .my.iniC:\xampp\mysql\bin으로 지정합니다.★★★★

skip-grant-tables

에 끼다# The MySQL server [mysqld] ★★★★★★★★★★★★★★★★★」port=3306MySQL을 사용하다

외관:

스크린샷

비밀번호 변경 후 오류가 발생하는 정보:

사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다(암호: NO 사용).

사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다(암호: YES 사용).

두 경우 모두 오류가 있었습니다.

근데 그 후로는 제가 한번 해봤는데

mysql -uroot -ppassword

mysql -u root -p password이 있기 때문에 이 해 볼 수 있습니다.-> uroot p -ppassword 。

MySQL 서비스가 시스템에서 실행되고 있는지 확인한 다음 MySQL의 지시에 따라 루트를 처음 설정합니다('윈도우'를 검색하면 루트를 설정하는 단계로 이동합니다).

초기 MySQL 계정 보호

사용자 계정 'root'에 대해 지정된 암호가 유효하지 않거나 올바른 암호로도 데이터베이스 서버에 연결하지 못한 경우 다음 오류가 발생할 수 있습니다.

•Windows 레지스트리에서 HKCU\Software\Microsoft 아래의 mysql_pwd reg 키를 삭제합니다.\Web Platform인스톨러

• MySQL의 이전 버전을 제거합니다.NET 커넥터

최신 MySql을 다운로드하여 설치합니다.NET 커넥터

코드의 'root'을 서버 사용자 이름과 비밀번호로 서버 비밀번호로 바꿉니다.예를 들어 서버 http://www.example.com에 DB와 php 파일이 있는 경우 사용자 이름과 비밀번호를 사용하여 이 서버 사이트에 로그인해야 합니다.

MySQL 5.7 용.다음의 순서는, 다음과 같습니다.

MySQL 서버를 완전히 중지합니다.이를 수행하려면 Windows XP 및 Windows Server 2003 내의 서비스 창에 액세스하여 MySQL 서비스를 중지할 수 있습니다.

실행 창에서 "cmd"를 사용하여 MS-DOS 명령 프롬프트를 엽니다.그 안에서 C:와 같은 MySQL bin 폴더로 이동합니다.\MySQL\bin 명령어를 사용합니다.

명령 프롬프트에서 mysqld.exe -u root --skip-grant-tables 명령을 실행합니다.

현재 MS-DOS 명령 프롬프트를 그대로 두고 새 MS-DOS 명령 프롬프트 창을 엽니다.

C:와 같은 MySQL bin 폴더로 이동합니다.\MySQL\bin 명령어를 사용합니다.

mysql을 입력하고 Enter 키를 누릅니다.

이제 MySQL 명령 프롬프트가 작동합니다.use mysql 이라고 입력하고 "mysql" 데이터베이스로 전환합니다.

다음 명령을 실행하여 암호를 업데이트합니다.

사용자 set authentication_string=passwords1111')을 업데이트합니다. 여기서 user='root';

  1. 암호 변경 위치config.inc.php에 나타나다.C:\xampp\phpMyAdmin.
  2. 유형mysql -u root -p명령 프롬프트에 표시됩니다.
  3. 패스워드를 입력하도록 요구됩니다.에서 갱신한 패스워드를 입력합니다.config.inc.php.

Wamp 설치 또는 root 사용자의 비밀번호 옵션 변경으로 인해 발생할 수 있습니다.privilages-->root(사용자)를 사용하여 패스워드 옵션을 NO로 설정하여 패스워드 없이 실행하거나 패스워드를 설정하여 응용 프로그램에서 사용할 수 있습니다.

XAMPP 를 사용하고 있는 경우는, 다음의 URL 에 액세스 해 주세요.C:\xampp\phpMyAdmin그 후 오픈합니다.config.inc.php발견하다$cfg['Servers'][$i]['password'] = ''줄을 그어 비밀번호를 입력합니다.

포토를 표준이 아닌 포토로 변경했을 경우는, 다음과 같이 지정할 필요가 있습니다.

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

루트 계정이 존재하지만 암호가 없는 경우 암호를 사용하지 않고 루트로 서버에 연결한 다음 암호를 할당합니다.이 문제가 발생했을 때, 이것이 나의 상황이었다.

비밀번호를 사용하지 않고 루트로 서버에 연결합니다.

$> mysql -u root --skip-password

비밀번호 할당:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

나는 내 문제를 이렇게 해결할 수 있었다.이것이 미래에 비슷한 문제를 겪는 사람에게 도움이 되기를 바랍니다.건배!

참고 자료: https://dev.mysql.com/doc/refman/8.0/en/default-privileges.html

mysqladmin -u root -p password

합니다.current password

그리고나서

합니다.new password

보안상의 이유로 발생합니다.

다음과 같이 시도하다

mysql -u root -p    

Enter를 클릭하고 암호를 입력한 후 다시 시도하십시오.

언급URL : https://stackoverflow.com/questions/2995054/access-denied-for-user-rootlocalhost-using-passwordno

반응형