> >mysql DB 의 user 테이블의 password 필드 값을 직접 바꾸는 것이나 mysqladmin 으로 password 를 바
>
> >꾸는 것이나 어차피 모두 같은 User 라는 테이블의 password 필드 값을 변경시키는 >것이므로 무엇이
> 든
> >지 최후로 작업한 결과가 남아 있게 되겠지요.
>
> >> 패스워드 바꿀때..
> >> shell>mysqladmin password -uroot 새패스워드
> >> 이렇게 바뀌면 패스워드가 바뀝니다...
> >> 그러니까 다음 mysql계정에 접속할때..
> >> shell>mysql -u root -p mysql
> >> 을 치면 패스워드를 넣으라고 나오는데, 새패스워드를 넣으면 됩니다.
> >> 즉,패스워드가 바뀌져~~
> >>
> >> 근데...
> >> mysql>update user
> >> mysql>set password = password('새패스워드')
> >> mysql>where user = 'root';
> >> 하면...
> >> select * from db하면..
> >> password가 바뀌긴 바뀌는데...
> >>
> >> 다음번에
> >> shell>mysql -u root -p mysql
> >> 로 접속할때는 패스워드가 안바뀌어 있고,
> >> mysqladmin으로 바꾼 패스워드를 입력해야 합니다.
> >> 왜 그렇죠???
> >>
> >>
>
> 위의 답변 감사합니다...
> 그런데 문제는... ^^
>
> mysql>update user
> mysql>set password = password('새패스워드')
> mysql>where user = 'root';
> 하면...
> select * from db하면..
> password가 바뀌긴 바뀌는데...
>
> 하면.. table상에 나오는 패스워드는 바뀌어져 있는뎅..
>
> shell>mysql -u root -p mysql
>
> 로 접속할때는 안 바뀌어져 있어여..
> 옛날 패스워드 그대로입니다...
> 바뀌기 전에 쓰던걸 넣아야만 됩니다.
>
> 왜 그렇죠??
>
> DB pass하고 유저패스하고 다른건가요??
> 궁금합니다..
grant table 은 수정하고 나면 항상 다시 읽어 들여야 합니다.
mysqld 데먼을 재 기동하던지 아니면 flush privileges; 라는 명령어로 다시 읽어 들이시기 바랍니다.
|