본문 바로가기
DataBase/Mysql

MySQL 사용자 계정 생성 및 권한 부여 방법

by 아우럼 2024. 10. 23.
반응형

MySQL 설치하고 기본계정인 root 계정으로 접속했다면, 다음 단계로 사용자 계정을 생성하고 권한을 부여하는 방법에 관해서 설명합니다.

 

MySQL 사용자 계정 설명

  • MySQL root 계정의 경우, 관리자 계정이기 때문에 Database에 대한 모든 권한을 가지고 있습니다.
  • 하지만, 실제 서비스에 사용되는 Database는 DBA가 root 권한을 가지고 있습니다.
  • Database를 이용하는 개발자 및 응용프로그램은 역할에 맞도록 권한을 부여받아 사용해야 합니다.
  • MYSQL Database 접속 및 사용 목적에 따라 관리자에게 사용자 계정을 부여받아야 합니다.
  • MYSQL 사용자 계정을 생성할 때는 사용자 계정뿐만 아니라 접속할 수 있는 host 설정해 줘야 합니다.
  • MySQL 8.0 버전부터는 계정의 생성은 CREATE USER 명령, 권한 부여는 GRANT 명령으로 구분합니다.
  • MySQL 8.0부터는 GRANT 전에 USER가 먼저 생성하고 GRANT 문을 실행해 주세요.
  • MySQL 8.0부터는 GRANT 문을 먼저 수행하면 오류가 발생하게 되어 사용자를 생성할 수 없습니다.

MySQL 접속 방법

MySQL 접속 방법은 링크를 참고하세요.

https://aurumguide.tistory.com/82

 

MySQL 터미널 접속 및 명령어

MySQL은 Workbench 통해서 접속할 수도 있지만 이번에는 터미널로 접속하는 방법에 관해서 설명하겠습니다. MySQL 접속 설명MySQL 서버를 설치했다면 먼저 할 일은 설치된 MySQL 서버 접

aurumguide.tistory.com

https://aurumguide.tistory.com/77

 

MySQL 연결, 접속 방법

MySQL 서버를 설치했다면 Workbench를 사용하여 MySQL 서버에 접속해 보겠습니다. MySQL 연결 준비MySQL 서버 설치. MySQL 서버 접속할 Workbench를 다운로드하여 설치하세요. Workbench는 보통 MyS

aurumguide.tistory.com

 

https://aurumguide.tistory.com/79

 

MySQL 원격 접속 방법(Remote Access)

MySQL 설치했다면 외부에서 접속하는 방법에 관해서 설명하겠습니다. MySQL 설정 파일 수정파일경로를 /etc/mysql/mysql.conf.d 이동합니다. vi, nano을 사용해서 설정 파일을 수정합니다. bind-address 부분을

aurumguide.tistory.com

MySQL 사용자 계정 생성, 권한 부여 방법

MySQL 사용자 계정 생성 방법.

  • host를 '%'로 주면 모든 외부 IP에서 접속할 수 있습니다.
  • 그러나 서비스할 때는 보안을 위해서 특정 IP 대역에서만 접속할 수 있도록 설정합니다.
-- 전체 IP 접속할 수 있는 사용자 계정 생성.
create user '아이디'@'%' identified by '패스워드';

-- 특정만 IP 접속할 수 있는 사용자 계정 생성.
create user '아이디'@'192.%' identified by '패스워드';

MySQL 사용자 계정 권한 부여 방법.

  • MySQL은 grant, privileges on 명령어를 통해서 DB에 권한을 부여할 수 있습니다.
-- MySQL 사용자 계정에 모든 database에 대해서 권한을 부여 합니다.
GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.%';

-- MySQL 사용자 계정에 특정 database에 대해서 권한을 부여 합니다.
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'192.%';

-- MySQL 사용자 계정에 SELECT, INSERT, UPDATE 부여 합니다.
GRANT SELECT, INSERT, UPDATE ON database_name.* TO 'username'@'192.%';

최종적으로 권한을 적용한다.

  • FLUSH PRIVILEGES 명령어는 최종적으로 권한을 적용합니다.
FLUSH PRIVILEGES;

MySQL 사용자 계정 설명.
MySQL 사용자 계정 설명.

생성된 MySQL 사용자 계정으로 접속합니다.

생성된 MySQL 사용자 계정으로 접속합니다.
생성된 MySQL 사용자 계정으로 접속합니다.

 

반응형