일단 비번갖고 root 접속 : mysql -u root -p
그후..
데이타베이스 사용하기 : use mysql (만약 mysql db 사용한다면..
아.. 사실 걍 help치면 되긴한다.. 어디서나 help 아니면 -help 치면
메뉴얼이 쭈루룩,,
권한 보여주기 : show grants
user테이블 모든 user password host보기
: select host,user,password from mysql.user;
인터넷에 있는 레퍼런스 대부분 틀리다. 왜냐면 개네들은 버전을 안적어 두고 단순 패스워드 변경으로 적어두기 땜에 방식이 달라져서 그냥 인터넷 레퍼런스 참조 하면 애먹는다.
지금 내가 사용하는 버전은 10.x 대라 영어 문서를 찾았다. 5.7.6인가 그 버전 부터 방식이 변경되었다.
https://linuxize.com/post/how-to-change-mysql-user-password/
단순히 아래 방법이면 된다
// 비번 변경
ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
// 변경 저장하기
FLUSH PRIVILEGES;
//out 에 아래처럼 뜨면 적용 된 것이다
Query OK, 0 rows affected (0.00 sec)
위처럼 패스워드 변경했는데도 access denied 뜬다면,
아래 레퍼런스 처럼
https://bscnote.tistory.com/77
mysql> update user set plugin='mysql_native_password' where user='root';
요거 한줄 쳐주면 된다.
plugin을 auth_socket -> mysql_native_password
로 변경해주니 적용됐다.
아니 user table에 비번 변경해도 플러그인 auth_socket 적용되면 아예 안먹히는 인터페이스면, 왜 디폴트로 auth_socket을 적용해뒀을까? 이 디폴트 플러그인이랑 비밀번호 변경하는거랑 충돌이 나서 비번 변경 적용이 안되면 에러 메시지를 주든가 적용이 안된다고 알려줘야 하는거 아닌가?
과거엔 몰랐는데 mysql이나 정말 유명한(엄청 대중적인) 프로그램도 완벽하진 않다는 생각, 헛점들이 보인다.
use mysql;
select user, host from user;
출처: https://yoshikixdrum.tistory.com/217 [평범한 이야기들]
https://medium.com/@js230023/%EB%A6%AC%EB%88%85%EC%8A%A4-mysql-%EC%84%A4%EC%A0%95-1701ba44da9c