본문
## 1. root 비밀번호를 분실했을 경우
1) 암호 초기화
# killall mysqld (데몬을 모조리 죽입니다)
# cd /usr/local/mysql (mySsql 설치된 폴더 이동)
※ mysql 데몬이 죽었기 때문에, 의외로 이거 모르시는 분이 많은데 sql 명령을 넣으려면 sql이 설치된 디렉토리로 가야합니다.
# ./bin/safe_mysqld --skip-grant &
여기까지 진행하면 root 비밀번호가 초기화됩니다. 즉 root 비밀번호가 삭제되는거죠.
2) 새 암호 넣기
2.1) MySQL 3.x ~ 4.01
# ./bin/mysql (mysql 실행)
mysql>use mysql <- mysql 데이타베이스 연결
mysql>update user set password=password('새암호') where user='root';
Query OK, 2 rows affected (0.05 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> FLUSH PRIVILEGES; <- 끝에 ; 를 꼭 입력해야합니다.
Query OK, 0 rows affected (0.00 sec)
mysql> exit (끝내기)
2.2) MySQL 4.1 ~ MySQL 5.x
MySQL 4.1 이상 버전에서는 비밀번호를 해쉬알고리즘을 기반으로한 인증 프로토콜을 사용합니다.
그리고 해당 기능이 하위버전의 Client와 호환이 되지 않기에 서버를 4.1이상으로 업그레이드를 한 후에는 다음과 같은 명령어를 사용하여 인증이 가능토록 해야 합니다.
# ./bin/mysql (mysql 실행)
mysql>use mysql <- mysql 데이타베이스 연결
mysql> update user set password=OLD_PASSWORD('새암호') WHERE user = 'root';
Query OK, 2 rows affected (0.05 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
## 2. 유저 로그인 경우 비밀번호 변경
$ mysql -u디비아이디 -p 디비이름
Enter password:
mysql>set password = password('새암호'); <== 새로운 비밀번호로 저장하기
<추가설명>set password = old_password('새암호'); <== 기존 비밀번호로 저장하기
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit <== MySQL 빠져나올 때
관련링크
댓글목록
등록된 댓글이 없습니다.