1. mysql 사용자 생성
1. 해당 데이터베이스를 사용하는 계정을 생성해야 한다.
create user '계정아이디'@'localhost' identified by '패스워드';
[설명]
- mysql 8 이상부터는, 계정을 먼저 생성하고 권한을 부여해야한다.
- 이때, 패스워드 정책과 맞지 않는다는 오류가 뜰 수 있는데,
해결 방법은 아래의 글을 참고하자.
- mysql password 정책 확인 및 변경하기 : https://yoons-development-space.tistory.com/13
2. mysql 사용자에게 권한 부여하기
2. 해당 계정에, 데이터베이스를 이용할 수 있는 권한을 부여해야 한다.
grant all privileges on db이름.* to '계정이름'@'localhost';
flush privileges;
[설명]
1. db이름.* : 해당 db에 대한 모든 권한을 의미
2. @'클라이언트명' : 해당 클라이언트에서 접근 가능하다는 의미
- '%' : 모든 클라이언트에서 접근 가능하다(외부 ip로도 접근 가능하다)
- 'localhost' : 해당 컴퓨터에서만 접근 가능하다(내부 ip로만 접근 가능하다)
3. flush privileges : DBMS에게 적용을 하라는 의미 (반드시 해주어야 한다)
3. mysql 사용자 조회하기
현재 사용자 목록을 확인하는 방법은 다음과 같다.
1. root 사용자로 mysql에 접속한다
mysql -uroot -p
2. database 중 mysql 데이터베이스를 선택한다
use mysql
3. 다음과 같이 입력한다
select user, host from user;
4. 사용자 비밀번호 변경하기
1. root 사용자로 mysql에 접속한다
mysql -uroot -p
2. database 중 mysql 데이터베이스를 선택한다
use mysql
3. 다음과 같이 입력한다
# 5.6 이하
> update user set password=password('new password') where user = 'root';
# 5.7 이상
> update user set authentication_string=password('new password') where user = 'root';
# 8.x 이상
> alter user 'root'@'localhost' identified with mysql_native_password by 'new password';
# 변경사항 적용하기
> flush privileges;
5. 사용자 삭제
drop user 'username'@'localhost';
flush privileges;
참고로, 아래와 같이 삭제하면 나중에 문제 생기므로 하지 말기
delete from user where user='username'
'MYSQL' 카테고리의 다른 글
[mysql] DATETIME TIMESTAMP (0) | 2022.09.07 |
---|---|
[mysql] 문자열 데이터 타입 : CHAR vs VARCHAR (0) | 2022.09.05 |
[mysql] 사용 중인 데이터베이스 전환하기 (0) | 2022.09.05 |
[mysql] password 정책 확인 및 변경하기 (0) | 2022.09.05 |
[mysql] mysql 실행 -> 접속 -> 접속 끊기 -> 종료 (+ 데몬으로 실행 및 종료) (0) | 2022.09.05 |