windows 에서 my sql 의 루트 비밀 번 호 를 초기 화 하 는 방법 소개
5413 단어 mysql 초기 화루트 암호
루트 계 정 을 사용 하여 mysql 데이터베이스 에 로그 인 한 결과 비밀번호 가 일치 하지 않 음 을 알 립 니 다.나 는 서버 가 SQL 주입 공격 을 받 았 을 지도 모른다 는 것 을 갑자기 깨 달 았 다.
사고 가 발생 한 원인 과 그 후에 한 보완 조치 에 대해 서 는 나중에 기회 가 있 으 면 말씀 드 리 겠 습 니 다.여기 서 mysql 사용자 비밀번호 리 셋 절 차 를 말씀 드 리 겠 습 니 다.
루트 비밀번호 초기 화
루트 비밀 번 호 를 잊 어 버 린 상태 에서 my sql 보안 모드 에 들 어가 루트 비밀 번 호 를 초기 화 할 수 있 습 니 다.
1.MySQL 서비스 중지
명령 프롬프트 창 을 열 고 net stop my sql 을 입력 하여 MySQL 서 비 스 를 닫 습 니 다.
C:\Users\Administrator>net stop mysql57
MySQL57 ..
MySQL57 。
↑서비스 이름 이 모두 my sql 인 것 은 아 닙 니 다.예 를 들 어 제 가 my sql 57,57 대표 버 전 번 호 는 5.7 입 니 다.물론 컴퓨터 관리 패 널 을 통 해 MySQL 서 비 스 를 닫 을 수도 있 습 니 다.
2.빈 디 렉 터 리 로 전환
명령 프롬프트 창 에서 cd 명령 을 통 해 my sql 설치 디 렉 터 리 의 bin 디 렉 터 리 로 전환 합 니 다.
C:\Users\Administrator>
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
C:\Program Files\MySQL\MySQL Server 5.7\bin>
↑기본 설치 디 렉 터 리 는 C:\Program Files\\MySQL\\MySQL Server3.안전 모드 진입
빈 디 렉 터 리 에 입력
mysqld --skip-grant-tables
하고 권한 검 사 를 건 너 뛰 어 my sql 을 시작 합 니 다.my.ini 파일 을 설정 했다 면 가 져 와 야 합 니 다:
mysqld --defaults-file="../my.ini" --skip-grant-tables
[mysqld]
basedir = "C:\ProgramData\MySQL\MySQL Server 5.7"
datadir = "C:\ProgramData\MySQL\MySQL Server 5.7\Data"
↑나 는 my.ini 파일 에 데이터 저장 경 로 를 지정 했다.설정 파일 을 도입 하지 않 으 면 No such file or directory 오 류 를 알려 줄 것 이다.4.계 정 비밀번호 초기 화
다른 명령 프롬프트 창 을 엽 니 다(보안 모드 창 을 닫 지 마 십시오).mysql\bin 디 렉 터 리 로 전환 하고 mysql 건 너 뛰 기 권한 검증 연결 데이터 베 이 스 를 입력 하 십시오.
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
↑연결 매개 변수 mysql-u<사용자 이름>-p<비밀번호>-h<연결 주소>-P<포트 번호>-D<데이터베이스>지정 가능업데이트 mysql.user set 인증 실행string="" where user="root"; 루트 사용자 의 암 호 를 초기 화 합 니 다(5.7 이전 에는 password 필드).
mysql> update mysql.user set authentication_string="" where user="root";
Query OK, 1 row affected (0.00 sec)
mysql> select user,authentication_string from mysql.user\G
*************************** 1. row ***************************
user: root
authentication_string:
*************************** 2. row ***************************
user: mysql.sys
authentication_string: *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
2 rows in set (0.00 sec)
↑root 사용자 의 authenticationstring 필드 가 비어 있 습 니 다.5.권한 표 새로 고침
flush 권한 실행 하기;명령 새로 고침 권한 표,비밀번호 초기 화 완료,quit 입력 종료.
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> quit
Bye
모든 명령 프롬프트 창 을 닫 고 작업 관리 자 를 통 해 my sqld.exe 프로 세 스 를 끝 냅 니 다.MySQL 서 비 스 를 다시 시작 하면 루트 계 정 에 바로 로그 인 할 수 있 습 니 다.루트 비밀번호 수정
보안 상 루트 비밀 번 호 는 비어 있 으 면 안 되 므 로 비밀 번 호 를 리 셋 한 후 비밀 번 호 를 다시 설정 해 야 합 니 다.
방법 1:SET PASSWORD
SET PASSWORD FOR "username"=PASSWORD("new password");
루트 로 my sql 에 로그 인 한 다음 set password 명령 으로 암 호 를 수정 합 니 다:
mysql> set password for root@localhost = password("pswd");
Query OK, 0 rows affected, 1 warning (0.00 sec)
방법 2:my sqladminmysqladmin -u "username" -p password "new password"
이 이름 을 실행 하면 원래 암 호 를 입력 하 라 고 알려 주 고 정확 한 입력 을 하면 수정 할 수 있 습 니 다.
C:\Program Files\MySQL\MySQL Server 5.7\bin> mysqladmin -u root -p password pswd
Enter password: ****
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
방법 3:UPDATE TABLEUPDATE mysql.user SET authentication_string=PASSWORD("new password") WHERE user="username";
루트 암 호 를 초기 화 하 는 동시에 기본 암 호 를 설정 할 수 있 습 니 다.그러나 비밀 번 호 는 명문 으로 할 수 없고 password()함수 로 암호 화해 야 합 니 다.
mysql> update mysql.user set authentication_string=password("pswd") where user="root";
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
총결산이상 은 windows 에서 my sql 의 루트 비밀 번 호 를 리 셋 하 는 방법 에 대한 모든 내용 입 니 다.도움 이 되 기 를 바 랍 니 다.관심 이 있 는 친 구 는 본 사 이 트 를 계속 참고 할 수 있 습 니 다.
MySQL 데이터베이스 디자인 의 Python 을 이용 하여 Schema 를 조작 하 는 방법 에 대한 상세 한 설명
my sql 에서 인 스 턴 트 를 사용 하여 모호 한 조회 방법 을 소개 합 니 다.
MySQL 에서 or 구문 용법 예제
부족 한 점 이 있 으 면 댓 글로 지적 해 주세요.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
paramiko를 사용하여 루트 비밀번호를 대량으로 변경합니다요구 사항: 루트 비밀번호는 모두 같습니다. IP를 저장할 파일을 미리 만듭니다. #vim/home/remote_ssh.py #!/usr/bin/env python import sys # 실행 프로그램을 정의하는 데...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.