내 MySQL 사용자 이름과 비밀번호를 어떻게 검색하나요?

StackOverflow https://stackoverflow.com/questions/4371

  •  08-06-2019
  •  | 
  •  

문제

MySQL 사용자 이름과 비밀번호를 분실했습니다.어떻게 검색하나요?

도움이 되었습니까?

해결책

MySQL 프로세스를 중지합니다.

--skip-grant-tables 옵션을 사용하여 MySQL 프로세스를 시작합니다.

-u root 옵션을 사용하여 MySQL 콘솔 클라이언트를 시작합니다.

모든 사용자를 나열합니다.

SELECT * FROM mysql.user;

암호를 재설정;

UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

하지만 잊지 마요 에게

MySQL 프로세스 중지

MySQL 프로세스를 정상적으로 시작합니다(예:--skip-grant-tables 옵션 제외)

당신이 끝나면.그렇지 않으면 데이터베이스 보안이 손상될 수 있습니다.

다른 팁

안타깝게도 귀하의 사용자 비밀번호는 복구할 수 없습니다.단방향 해시로 해시되었으며, 이를 모르면 되돌릴 수 없습니다.위의 Xenph Yan을 사용하여 새로 만드는 것이 좋습니다.

다음 절차를 사용할 수도 있습니다. 매뉴얼 MySQL의 비밀번호를 재설정하려면 뿌리 Windows의 계정:

  1. 시스템에 관리자로 로그온하십시오.
  2. MySQL 서버가 실행 중인 경우 중지합니다.Windows 서비스로 실행중인 서버의 경우 서비스 관리자로 이동하십시오.

시작 메뉴 -> 제어판 -> 관리 도구 -> 서비스

그런 다음 목록에서 MySQL 서비스를 찾아 중지합니다.서버가 서비스로 실행되지 않으면 작업 관리자를 사용하여 강제로 중지해야 할 수도 있습니다.

  1. 텍스트 파일을 만들고 그 안에 다음 명령문을 넣습니다.비밀번호를 사용하려는 비밀번호로 바꾸십시오.

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;
    

    그만큼 업데이트 그리고 플러시 각 명령문은 한 줄에 작성되어야 합니다.그만큼 업데이트 명령문은 모든 기존 루트 계정의 비밀번호를 재설정하고 플러시 명령문은 서버에게 그랜트 테이블을 메모리에 다시 로드하라고 지시합니다.

  2. 파일을 저장합니다.이 예에서는 파일 이름이 지정됩니다. C:\mysql-init.txt.
  3. 콘솔 창을 열어 명령 프롬프트로 이동합니다.

    시작 메뉴 -> 실행 -> cmd

  4. 특수 명령으로 MySQL 서버를 시작하십시오. --init-파일 옵션:

    C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
    

    MySQL이 아닌 다른 위치에 MySQL을 설치한 경우 C:\mysql, 그에 따라 명령을 조정하십시오.

    서버는 다음과 같은 이름의 파일 내용을 실행합니다. --init-파일 시작 시 옵션, 각각 변경 뿌리 계정 비밀번호.

    다음을 추가할 수도 있습니다. --콘솔 로그 파일이 아닌 콘솔 창에 서버 출력을 표시하려면 명령에 대한 옵션입니다.

    MySQL 설치 마법사를 사용하여 MySQL을 설치한 경우 다음을 지정해야 할 수도 있습니다. --기본값 파일 옵션:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
    

    적절한 --기본값 파일 설정은 서비스 관리자를 사용하여 찾을 수 있습니다.

    시작 메뉴 -> 제어판 -> 관리 도구 -> 서비스

    목록에서 MySQL 서비스를 찾아 마우스 오른쪽 버튼으로 클릭하고 속성 옵션을 선택합니다.실행 파일 경로 필드에는 다음이 포함됩니다. --기본값 파일 환경.

  5. 서버가 성공적으로 시작된 후 삭제 C:\mysql-init.txt.
  6. MySQL 서버를 중지한 다음 일반 모드에서 다시 시작합니다.서버를 서비스로 실행하는 경우 Windows 서비스 창에서 시작하십시오.서버를 수동으로 시작하는 경우 일반적으로 사용하는 명령을 사용하십시오.

이제 새 비밀번호를 사용하여 루트로 MySQL에 연결할 수 있습니다.

여기에서 가장 유용한 답변이 개선되었습니다.

1] mysql 서버를 다시 시작할 필요가 없습니다
2] 네트워크에 연결된 MySQL 서버에 대한 보안 문제

MySQL 서버를 다시 시작할 필요가 없습니다.

사용 FLUSH PRIVILEGES; 비밀번호 변경을 위해 mysql.user 문을 업데이트한 후.

FLUSH 문은 서버에게 그랜트 테이블을 메모리에 다시 로드하여 비밀번호 변경을 알릴 것을 지시합니다.

그만큼 --skip-grant-options 누구나 비밀번호 없이 모든 권한으로 연결할 수 있습니다.이는 안전하지 않기 때문에 다음을 수행할 수 있습니다.

사용 --건너뛰기-그랜트-테이블 와 함께 --네트워킹 건너뛰기 원격 클라이언트가 연결되는 것을 방지합니다.

에서:참조: 재설정 권한 일반

무차별 대입 없이 MySQL 비밀번호를 직접 복구할 수는 없지만 다른 방법이 있을 수 있습니다. MySQL Workbench를 사용하여 데이터베이스에 연결하고 자격 증명을 "vault"에 저장했다면 성공할 수 있습니다.

Windows에서는 자격 증명이 다음 위치에 저장됩니다. %APPDATA%\MySQL\Workbench\workbench_user_data.dat - 암호화됨 CryptProtectData (추가 엔트로피 없이).해독은 쉽습니다.

std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
    DATA_BLOB inblob { length, input };
    DATA_BLOB outblob;

    if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
            throw std::runtime_error("Couldn't decrypt");
    }

    std::vector<unsigned char> output(length);
    memcpy(&output[0], outblob.pbData, outblob.cbData);

    return output;
}

아니면 이것을 확인할 수도 있습니다 기부코더 스레드 빠르고 더러운 구현의 소스 + 실행 파일용.

mysql이 실행 중인 서버에 대한 루트 액세스 권한이 있는 경우 이 명령을 사용하여 mysql 서버를 중지해야 합니다.

sudo service mysql stop

이제 이 명령을 사용하여 mysql을 시작하십시오.

sudo /usr/sbin/mysqld --skip-grant-tables  --skip-networking &

이제 다음을 사용하여 mysql에 로그인할 수 있습니다.

sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

전체 지침은 여기에서 확인할 수 있습니다. http://www.techmatterz.com/recover-mysql-root-password/

다운타임 없이 수행

터미널에서 다음 명령을 실행하여 DBMS에 연결합니다(루트 액세스 필요).

sudo mysql -u root -p;

대상 사용자의 비밀번호 업데이트를 실행합니다(예제 사용자 이름은 다음과 같습니다). mousavi 비밀번호는 다음과 같아야 합니다. 123456):

UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';  

이 시점에서 변경 사항을 적용하려면 플러시를 수행해야 합니다.

FLUSH PRIVILEGES;

완료!mysql 서비스를 중지하거나 다시 시작하지 않고 수행했습니다.

기존 사용자를 사용하여 Windows cmd에서 MySql에 로그인합니다.

mysql -u 사용자 이름 -p
암호를 입력:****

그런 다음 다음 명령을 실행하십시오.

mysql> SELECT * FROM mysql.user;

그런 다음 해당 사용자의 암호화된 md5 비밀번호를 복사하면 웹에서 사용할 수 있는 여러 온라인 비밀번호 해독 애플리케이션이 있습니다.이 암호를 해독하고 다음 로그인에 사용하세요.또는 흐르는 명령을 사용하여 사용자 비밀번호를 업데이트하십시오.

mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

그런 다음 새 비밀번호와 사용자를 사용하여 로그인하십시오.

작전의 질문에 대한 엄격하고 논리적이며 컴퓨터 과학적인 해석이 필요하더라도 둘 다 "MySQL 사용자 이름을 어떻게 검색하나요?" 그리고 "password" - 누군가에게 비밀번호를 알려주는 것이 유용할 것이라고 생각했습니다. 또는 해석.다시 말해서 ...

1) 내 MySQL 사용자 이름을 어떻게 검색하나요?

또는

2) 비밀번호

후자의 조건은 이미 충분히 해결된 것 같으므로 더 이상 언급하지 않겠습니다.다음은 "MySQL 사용자 이름을 어떻게 검색합니까?"에 대한 해결 방법입니다.안녕.

mysql 사용자 이름을 찾으려면 mysql 쉘에서 다음 명령을 실행하십시오.

mysql.user에서 사용자 선택;

모든 mysql 사용자의 테이블을 인쇄합니다.

ODBC를 설정한 경우 ODBC 구성 파일에서 비밀번호를 얻을 수 있습니다.이는 Linux의 경우 /etc/odbc.ini에 있고 Windows의 레지스트리에 있는 Software/ODBC 폴더에 있습니다(여러 개가 있으므로 검색하는 데 약간의 시간이 걸릴 수 있음).

창 사용자의 경우 다음을 따르십시오. 가이드 비밀번호를 재설정하려면

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top