logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

MacOS mysql 비밀번호 분실 시 재설정하기

by digipine posted Nov 14, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

MySQL을 설치할 때 임시 Password를 부여하는 이것을 무시하고 설치했거나 정말로 비밀번호를 잊어버렸을때에 재설정하는 방법을 설명합니다.

아래와 같이 입력하면 인증을 생략하고 안전모드로 데몬을 실행한다. 즉, 비밀번호 없이도 MySQL에 접속할 수 있게 된다. (여기서도 많이 헤맸다. 해당 경로로 이동해서 그대로 mysqld_safe –skip-grant-tables 명령어를 치면 실행할 수 없는 명령이라고 나오는데, 반드시 관리자 권한(sudo)로 실행하고 경로에도 ./를 붙여서 실행해야 한다) 그리고 이 단계에서 비밀번호를 물어보는 건 MySQL 비밀번호가 아닌 맥의 관리자 비밀번호다.

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

위 명령어는 실행된 상태로 유지되므로 새로운 터미널 창을 열어서 MySQL에 접속한다. 이제 비밀번호를 묻지 않고 바로 접속이 된다. (예이!) 만약 접속이 잘 안 된다면 방금 전 실행한 명령어가 완전히 실행되었는지(=바람개비가 다 사라졌는지) 확인한다.

/usr/local/mysql/bin/mysql -uroot

접속한 뒤에는 아래와 같이 비밀번호를 root로 변경한다. password=(‘root’)에 root 대신 원하는 비밀번호를 입력해도 된다. (참고로 5.7 버전 이전에는 set password=password(‘원하는 비밀번호’)였는데 컬럼명이 바꼈다.1 굳이 바뀐 컬럼명을 직접 보고자 한다면 use mysql;을 하고 show full columnes from user;를 치면 된다.)

mysql> use mysql; 
mysql> update user set authentication_string=password('root') where user='root';

마지막으로 변경사항을 적용하기 위해 flush privileges 명령어를 실행한다.

mysql> flush privileges;

MySQL 접속하기

다시 MySQL에 접속하면 잘 되는 것을 확인할 수 있다. 만약 접속이 거부되면 -uroot -proot와 같이 비밀번호까지 붙여서 한번에 실행하는 것을 시도한다.

/usr/local/mysql/bin/mysql -uroot
/usr/local/mysql/bin/mysql -uroot -proot

그런데 접속 후 명령을 실행하게 되면 다음과 같은 에러가 발생한다. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 이 경우 아래 명령어를 실행하면 정상적으로 MySQL 명령을 실행할 수 있다.

mysql> use mysql; 
mysql> set password = password('원하는 비밀번호');
이제 MySQL 데몬을 종료하고 재시작하면 된다.
# ps -e | grep mysql 
# kill -9 [P_ID]
위와 같이 mysql 프로세스들을 모두 kill 해 준후 재시작하면된다. 아니면 맥을 재부팅 하거나..
TAG •

List of Articles
No. Subject Author Date Views
55 macOS Daemon 관련 시스템 폴더 목록 lizard2019 2024.03.08 3
54 Firebase 'GoogleUtilities/GULURLSessionDataResponse.h' file not found Error Fix lizard2019 2023.07.04 175
53 [macOS] Xcode 디버깅 시 Could not attach pid 오류 해결 file lizard2019 2023.06.05 476
52 [macOS, iOS] 개발자 정보 확인하는 명령어 digipine 2023.03.23 147
51 [macOS] 현재 사용 중인(열려있는) 포트 확인하고 Close 하기 digipine 2022.10.24 254
50 [iOS] Audio Session Setting digipine 2021.11.26 546
49 [iOS] 개발자를 위한 iOS 15의 새로운 기능 file digipine 2021.11.04 492
48 [iOS/macOS] 사설 인증서를 사용한 SSL HTTPS 통신 시 우회처리 digipine 2021.07.06 2946
47 [MacOS] Terminal 에서 zsh compinit: insecure directories 경고 제거하기 lizard2019 2021.04.30 564
46 Concurrent vs Serial DispatchQueue: Concurrency in Swift explained lizard2019 2021.04.16 414
45 WatermelonDB 'jsi/jsi.h' file not found 문제 해결 file digipine 2021.04.06 730
44 [iOS/Objective-C] __weak, __block 사용법 digipine 2021.02.16 5493
43 macOS ARP Spoofing Attack file digipine 2020.09.17 684
42 The distance estimate iBeacon signal strength lizard2019 2019.10.25 693
41 [MacOS, Swift] 스크롤뷰, NSScrollView 사용법 엉뚱도마뱀 2018.11.01 1264
40 [swfit 4] 스위프트 Swift 동시성 동기화 정리 엉뚱도마뱀 2018.09.06 1313
39 [swift 4] 변경 사항 정리 file 엉뚱도마뱀 2018.07.23 1019
38 [Objective-C] NSOperation과 NSOperationQueue를 사용하는 방법 - 설명 및 예제 엉뚱도마뱀 2018.03.14 4185
» MacOS mysql 비밀번호 분실 시 재설정하기 digipine 2017.11.14 1028
36 OSX - Screen Serial Terminal - OSX에서 시리얼 터미널 사용하기 digipine 2017.11.03 6837
Board Pagination Prev 1 2 3 Next
/ 3