반응형
카카오로그인을 만들면서 mysql을 접속하는데 mysql 비번을 잊었다.
access denied for user ''@'localhost' (using password: no)
비번을 찾을 수 없어서 초기화를 시도했다.
하루 반 동안 brew로 mysql을 삭제하고 재설치하고, mysqld_safe --skip-grant-tables & 를 입력하고 돌아가는 mysql을 다 kill 해봤지만 해결되지 않았다.
mysqld_safe --skip-grant-tables : mysql의 엑세스 권한을 무제한으로 변경
터미널에 which mysql
입력하면 mysql이 어디에 설치되어있는지 찾을 수 있다.
나같은 경우는 brew로 mysql을 설치했기 때문에 /opt/homebrew/bin
에 mysql이 있었다.
인터넷에 보니까 my.cnf에 들어가서 직접 --skip-grant-tables를 찾으라 했다.
my.cnf를 찾기 위해 sudo find / -name my.cnf
를 입력했다. 끝도 없이 나와서 sudo find /etc -name my.cnf
로 탐색범위를 재조정 했다.
my.cnf에 들어가서 다음과 같이 [mysqld] 아랫줄에 skip-grant-tables를 추가해주었다.
[mysqld]
skip-grant-tables
이렇게 하면 MySQL 서버가 시작될 떄 사용자 인증을 건너뛰고 모든 사용자가 무제한 엑세스 권한을 갖게 된다.
이 후에 brew services restart mysql을 입력하여 mysql을 재시작하였다.
그리고 mysql -u root 를 입력하니 접속되었다.
반응형
'개발 > Database' 카테고리의 다른 글
MYSQL에서 Split하기 : SUBSTRING_INDEX (0) | 2022.04.03 |
---|---|
외부조인 (0) | 2022.03.09 |
DISTINCT 중복된 결과중 1개만 출력 (0) | 2022.03.08 |
내부조인 외부조인 (0) | 2022.03.08 |
MySQL 변수사용 (0) | 2022.02.25 |