Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 맥
- 옵티머스 g
- Raspberry Pi
- 셀레니움
- Selenium
- Ubuntu 20.04
- FMS
- 옵지
- 20.04
- 우분투
- 라라벨
- 라즈베리파이
- php
- 맛집
- 코드이그나이터
- 회고
- 제주도
- TiL
- 라즈비안
- MySQL
- 업비트
- 프레임워크
- codeigniter
- 옵G
- upbit
- Laravel
- ubuntu
- 옵티머스g
- 우분투 20.04
- C
Archives
- Today
- Total
평범한 이야기들
[Ubuntu] Ubuntu20.04 에서 Mysql 사용자 설정 본문
728x90
Ubuntu20.04에서 사용하는 Mysql에 관리자가 아닌 다른 사용자를 추가해서 사용해야 할 때가 존재합니다. 그래서 사용자를 추가 부분을 정리한 내용입니다. 먼저 콘솔에서 Mysql로 접속을 합니다. 명령어는 아래와 같습니다.
$ mysql -uroot -p
명령어를 입력한 후 비밀번호를 입력하면 Mysql에 로그인이 된 화면을 보실 수 있습니다. GUI 에만 익숙한 사람들이라면 어색할 수 있지만 쉘처럼 커맨드로 Mysql을 관리할 수 있습니다.
사용할 데이터베이스를 선택해 줍니다. 해당 명령어는 아래와 같습니다.
mysql > use [데이터베이스명]
저는 mysql 데이터베이스를 선택했습니다. 사용자 관련 테이블은 mysql 데이터베이스에 존재합니다. 그래서 선택을 해주었습니다.
# Mysql 사용자 추가
이제 사용자 추가를 진행하시면 됩니다.
#사용자 추가
mysql > CREATE USER 사용자ID; // 단순히 사용자 추가
# 사용자(user)를 추가하면서 패스워드까지 설정
mysql > CREATE USER '사용자ID'@localhost IDENTIFIED BY '비밀번호';
# 기존에 사용하던 계정에 외부 접근 권한을 부여하려면, Host를 '%' 로 하여 똑같은 계정을 추가한다
mysql > CREATE USER '사용자ID'@'%' IDENTIFIED BY '비밀번호';
localhost와 외부에서도 접근할 수 있는 아이디를 만들어주었습니다. 생성한 아이디가 사용할 데이터베이스를 생성해주시면 됩니다.
# 데이터베이스를 생성한다.
mysql > CREATE DATABASE DB명 DEFAULT CHARACTER SET utf8mb4;
캐릭터 셋 인 utf8mb 4는 4바이트형 캐릭터 셋입니다. 더 자세한 내용은 나중에 정리해보겠습니다. 데이터베이스까지 생성을 했기 때문에 새로 생성한 아이디에 권한을 부여해주면 됩니다.
# 생성한 데이터베이스에 대한 권한을 부여해준다. identified by '비밀번호' 부분을 추가하면 비밀번호가 변경된다.
# 모든 권한을 부여한다.
mysql> GRANT ALL privileges ON DB명.* TO '사용자ID'@locahost IDENTIFIED BY '비밀번호';
mysql> GRANT ALL privileges ON DB명.* TO '사용자ID'@'%' IDENTIFIED BY '비밀번호';
# 사용자ID 에게 'DB명' 데이터베이스에 있는 모든 테이블에 SELECT, INSERT, UPDATE 권한만 부여
mysql> GRANT SELECT, INSERT, UPDATE ON DB명.* TO '사용자ID'@localhost IDENTIFIED BY '비밀번호';
# 사용자ID 에게 'DB명' 데이터베이스에 있는 모든 테이블에 패스워드는 변경없이 SELECT, INSERT, UPDATE 권한만 부여
mysql> GRANT SELECT, INSERT, UPDATE ON DB명.* TO '사용자ID'@localhost;
# 사용자ID 에게 모든 데이터베이스 모든 테이블에 권한 부여
mysql> GRANT ALL PRIVILEGES ON *.* TO '사용자ID'@localhost IDENTIFIED BY '비밀번호' WITH GRANT OPTION;
# 사용자에게 부여된 권한 확인
mysql > SHOW GRANTS FOR '사용자ID'@localhost;
mysql > SHOW GRANTS FOR '사용자ID'@'%';
이렇게 새로운 사용자에게 데이터베이스와 권한을 부여했습니다. 해당 사용자로 로그인을 하면 새로 만든 데이터베이스에서 작업을 원활하게 할 수 있습니다.
# Mysql 사용자 삭제
이미 생성된 사용자의 권한을 삭제하거나 사용자 계정 자체를 삭제를 하는 방법은 아래와 같습니다.
# 사용자에게 데이터베이스 사용권한 제거
mysql > REVOKE ALL ON DB명.테이블명 FROM '사용자ID';
# 사용자 계정 삭제
mysql > DROP USER '사용자ID'@'%';
mysql > DROP USER '사용자ID'@localhost;
이렇게 Mysql에 기본적인 사용자 추가, 권한 부여 등을 정리했습니다.
728x90
Comments