맥북에서 MySQL 설치를 하면, 설치가 끝날때 쯤에 초기 비밀번호를 임의로 생성해서 보여준다.
이 비밀번호를 잘 기억해뒀다가, 접속해서 비밀번호를 자신에게 맞게 변경을 해줘야한다.
그런데, 실수로 잊어버렸다거나.
나처럼 생성된 비밀번호를 그대로 잘 적어줬는데도 계속 틀렸다고 나오는 경우가 있다.
이럴땐 어쨌든 비밀번호를 재설정 해줘야하는데,
오늘은 그 방법을 알아본다.
우선, 해줘야하는 가장 중요한 첫번째 단계는 MySQL 프로그램을 중지시키는 것이다.
설치하게 되면 자동으로 백그라운드에서 돌아가는데, 이걸 강제로 꼭 종료시켜줘야 한다.
종료시켜주지 않으면, 이후에 적용하는 값들이 제대로 먹히지 않는다.
맥북의 시스템 환경설정에 들어가면, 화면 하단에 새로 설치된 "MySQL"이라는 아이콘을 볼 수 있다.
MySQL 아이콘을 클릭하면, 아래와 같은 화면을 볼 수 있는데, "Stop MySQL Server" 버튼을 눌러 중지시키자.
(물론, 터미널에서 명령어를 이용해 중지 시킬수도 있다. sudo /usr/local/mysql/support-files/mysql.server stop)
이제 비밀번호를 재설정해주는 과정이다.
터미널을 하나 켜서 아래와 같은 명령어를 친다.
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
그 후, 새로운 터미널을 하나 더 열어서 아래와 같은 명령어를 입력하여, 접속한다.
sudo /usr/local/mysql/bin/mysql -u root
이때 비밀번호를 물어볼수도 있는데, 그건 MySQL의 비밀번호가 아니라, 자신이 사용하는 맥북의 비밀번호를 요구하는 것이다.
접속후에는 아래와 같은 입력을 통해 비밀번호를 바꿀 수 있다.
"passwordtest" 라고 적은 부분에 자신이 원하는 비밀번호를 적으면 된다.
mysql> use mysql;
mysql> update user set authentication_string=password('passwordtest') where user='root';
mysql> flush privileges;
그 후에 아래와 같은 방법으로 MySQL에 접속 시도 하면, 자신이 설정한 비밀번호로 접속할 수 있다.
/usr/local/mysql/bin/mysql -u root -p
그런데 접속 후 명령을 실행하게 되면 다음과 같은 에러가 발생한다. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 이 경우 아래 명령어를 실행하면 정상적으로 MySQL 명령을 실행할 수 있다.
mysql> use mysql;
mysql> set password = password('원하는 비밀번호');
출처
[1] http://emfls.tistory.com/entry/MySQL-root-%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EC%B4%88%EA%B8%B0%EC%95%94%ED%98%B8-%EB%B6%84%EC%8B%A4-%EC%9E%AC%EC%84%A4%EC%A0%95-for-Mac
[2] https://gomdoreepooh.github.io/notes/mysql-reset-password