Window 아래 Mysql 루트 비밀 번 호 를 잊 어 버 리 면 어떻게 초기 화 합 니까?

본인 의 기계 환경:
Windows 2008 R2
MySQL 5.6
"Window 에서 Mysql 의 루트 비밀 번 호 를 잊 어 버 립 니 다"바 이 두 로 많은 해결 방안 을 찾 았 습 니 다.대부분 대동소이 하 다.비교적 전형 적 인 것 은 바 이 두 문고 의 한 편[1]이 고 그림 과 글 이 모두 풍부 하 며 조리 도 비교적 뚜렷 하 다.즉시 이 문장 이 묘사 한 조작 에 따른다.
구체 적 인 조작 은 다음 과 같다.
  다음 단계 에서 MySQL 의 환경 변 수 를 추가 하면 my sql 관련 명령 을 직접 실행 할 수 있 습 니 다.그렇지 않 으 면 my sql 설치 디 렉 터 리 의 bin 디 렉 터 리 에서 작업 해 야 합 니 다.
절 차 는 다음 과 같다.
1.my sql 서 비 스 를 중단 합 니 다(관리자 로 cmd 명령 줄 에서 실행)net stop my sql
2.mysql Cskip-grant-tables 명령 을 사용 하여 mysql 데이터 베 이 스 를 시작 합 니 다
D:\>net stop my sql MySQL 서비스 가 중단 되 었 습 니 다.MySQL 서비스 가 성공 적 으로 중단 되 었 습 니 다.
D:\>mysqld --skip-grant-tables

3.위 창 을 닫 지 않 고 cmd 창 을 새로 열 고 my sql-u root 를 입력 하고 Enter 키 를 누 릅 니 다.
D:\>mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.26-rc-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> update mysql.user set password=password('aaa') where user='root';
비밀 번 호 는 스스로 마음대로 쓸 수 있다.
Query OK, 1 row affected (0.02 sec) Rows matched: 2 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec) mysql>

4.퀘 스 트 관리 자 를 열 고 mysql,mysql 프로 세 스 를 중지 하고 net start mysql 로 mysql 서 비 스 를 시작 하면 루트 사용자 루트 비밀 번 호 를 사용 하여 데이터베이스 에 들 어 갈 수 있 습 니 다
mysql -u root -p aaa
추가 설명:
1.my sqld 사용 설명 은 다음 명령 을 사용 하여 보 기 를 가 져 올 수 있 습 니 다.
mysqld --verbose --help > d:\mysqld_help.txt
도움말 중 Cskip-grant-tables 의 도움말 은:
--skip-grant-tables Start without grant tables. This gives all users FULL ACCESS to all tables!
그래서 우 리 는 비밀 번 호 를 사용 하지 않 고 my sql 에 직접 로그 인 할 수 있 고 모든 시 계 를 수정 할 수 있 습 니 다.
본인 은 my sql-skip-grant-tables 로 my sql 을 시작 합 니 다.my sql-u root-p 빈 비밀 번 호 는 로그 인 할 수 있 고 비밀 번 호 를 수정 하 는 데 도 성공 할 수 있 습 니 다.하지만 my sql 을 정상적으로 시작 할 때 새로운 비밀번호 로 로그 인 할 수 없습니다.본인 은 중국어 사이트 에서 답 을 찾 을 수 없 으 니 외국 사이트 에 가서 답 을 찾 아 보 려 고 합 니 다.그래서 my sql 5.6 forget root password 를 키워드 로 검색 하여 my sql.com 에 있 는 문서'B.5.3.2 How to Reset the Root Password'[2]에서 답 을 찾 았 습 니 다.
구체 적 인 조작 절 차 는 다음 과 같다.
(1)mysql 정지
서비스 방식 으로 실행 되면 서비스 관리 도구 에서 my sql 서 비 스 를 중단 합 니 다.콘 솔 에서 다음 명령 을 실행 하거나
net stop mysql56
서비스 로 실행 되 지 않 으 면 작업 관리자 에서 my sqld 프로 세 스 를 종료 합 니 다.
(2)텍스트 파일 을 만들어 다음 내용 을 기록 합 니 다.마 이 뉴 패스 는 새로운 비밀번호 입 니 다.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
(3)c:\init.txt 로 저장
(4)콘 솔 창 에서 다음 명령 을 수행 합 니 다.
mysqld --init-file=C:\\init.ini
주의:
1)MySQL 환경 변 수 를 추가 하면 my sql 관련 명령 을 직접 실행 할 수 있 습 니 다.그렇지 않 으 면 my sql 설치 디 렉 터 리 의 bin 디 렉 터 리 에서 작업 해 야 합 니 다.
2)Mysql 설치 마법사 로 설 치 된 Mysql 이 라면--defaults-file 인 자 를 추가 해 야 합 니 다.명령 은 다음 과 같 습 니 다.
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\init.ini
--defaults-file 인 자 는 서비스 관리 에서 얻 을 수 있 습 니 다:시작'제어 판'관리 도구'서 비 스 를 찾 을 수 있 습 니 다.MySql 서 비 스 를 찾 으 려 면 오른쪽 단 추 를 누 르 고 속성 옵션 카드 를 선택 하 십시오.'실행 경로'는--defaults-file 인 자 를 포함 합 니 다.
(5)시스템 시작 에 성공 하면 Mysql 을 닫 고 init.ini 파일 을 삭제 하면 됩 니 다.
참고 문헌:
[1] http://wenku.baidu.com/view/5c0d2164e55c3b3567ec102de2bd960590c6d9c0
[2] https://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
위 에서 말 한 것 은 작은 편집자 가 소개 한 Window 아래 Mysql 에서 루트 비밀 번 호 를 잊 어 버 리 는 리 셋 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.작은 편집자 가 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기