MySQL 사용자 계정을 만들고 권한을 부여하는 방법

MySQL 사용자 계정을 만들고 권한을 부여하는 방법

2022-05-17 last update

5 minutes reading mysql mariadb
MySQL은 가장 유행하는 소스 관계 데이터베이스 관리 시스템이다.MySQL 서버는 사용자가 데이터베이스에 접근하고 관리할 수 있도록 대량의 사용자 계정을 만들고 적절한 권한을 부여합니다.이 자습서는 MySQL 사용자 계정을 만들고 권한을 부여하는 방법에 대해 설명합니다.

네가 시작하기 전에

시스템에 MySQL 또는 MariaDB 서버가 설치되어 있다고 가정합니다.모든 명령은 MySQL 셸에서 루트 사용자 또는 관리 사용자로 실행됩니다.최소값은 privileges
사용자 계정을 만들고 권한을 정의하는 데 필요한 비밀번호는 CREATE USERGRANT입니다.MySQL 셸에 액세스하려면 다음 명령을 입력하고 프롬프트에 MySQL 루트 사용자 비밀번호를 입력하십시오.
mysql -u root -p
MySQL 5.7 이상 버전에서 auth_socket 플러그인을 사용하여 루트 사용자로 로그인하면
sudo mysql

새 MySQL 사용자 계정 만들기

MySQL의 사용자 계정은 사용자 이름과 호스트 이름으로 두 부분으로 구성됩니다.새 MySQL 사용자 계정을 만들려면
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
에서 newuser을, 사용자 암호에서 user_password을 실행하십시오.위의 예에서 호스트 이름 부분은 localhost으로 설정되어 있으며 이는 사용자가 로컬 호스트(즉 MySQL 서버를 실행하는 시스템)에서만 MySQL 서버에 연결할 수 있음을 의미한다.다른 호스트에서 액세스 권한을 부여하려면 원격 컴퓨터 IP를 사용하여 호스트 이름 섹션을 변경합니다.예를 들어 IP가 10.8.0.5인 컴퓨터에서 액세스 권한을 부여하려면
CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';
을 실행하십시오. 모든 호스트에서 연결할 수 있는 사용자를 만들려면 호스트 섹션으로 '%' 와일드카드를 사용하십시오.
CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

MySQL 사용자 계정에 권한 부여

은 사용자 계정에 여러 종류의 권한을 부여할 수 있습니다.너는 온전한 것을 찾을 수 있다
MySQL here 지원 권한
. 가장 일반적인 권한은
  • ALL PRIVILEGES – 모든 권한을 사용자 계정에 부여합니다.
  • CREATE – 사용자 계정 액세스 허용 create databases
    책상도 있고.
  • DROP - 사용자 계정 액세스 허용 drop databases
    책상도 있고.
  • DELETE - 사용자 계정이 특정 테이블에서 행을 삭제할 수 있도록 합니다.
  • INSERT - 특정 테이블에 사용자 계정을 행을 삽입할 수 있습니다.
  • SELECT – 사용자 계정이 데이터베이스를 읽을 수 있도록 합니다.
  • UPDATE - 사용자 계정의 테이블 행을 업데이트할 수 있습니다.
  • 은 사용자 계정에 특정 권한을 부여합니다.다음 구문을 사용합니다.
    GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';
    다음은 몇 가지 예입니다.
  • 의 특정 데이터베이스에 있는 사용자 계정에 대한 모든 권한:
    GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
  • 의 모든 데이터베이스에 있는 사용자 계정에 대한 모든 권한:
    GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
  • 데이터 라이브러리의 특정 테이블에 있는 사용자 계정에 대한 모든 권한:
    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
  • Grant사용자 계정이 특정 데이터베이스에 있는 여러 권한:
    GRANT SELECT, INSERT, DELETE ON database_name.* TO [email protected]'localhost';
  • MySQL 사용자 계정 권한 표시

    특정 MySQL 사용자 계정에 부여된 권한을 찾으려면 SHOW GRANTS 문구를 사용하십시오.
    SHOW GRANTS FOR 'database_user'@'localhost';
    출력은 다음과 같습니다.
    +---------------------------------------------------------------------------+
    | Grants for [email protected]                                       |
    +---------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'database_user'@'localhost'                        |
    | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' |
    +---------------------------------------------------------------------------+
    2 rows in set (0.00 sec)
    

    MySQL 사용자 계정의 사용 권한 취소

    사용자 계정에서 하나 이상의 권한을 취소하는 문법은 권한을 부여할 때와 거의 같습니다.특정 데이터베이스에 대한 사용자 계정의 모든 권한을 취소하려면 다음 명령을 실행하십시오: (adsbyGoogle=window.adsbyGoogle|||[]).추진({});
    REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

    기존 MySQL 사용자 계정 삭제

    ~ delete a MySQL user accountDROP USER 문구 사용:
    DROP USER 'user'@'localhost'
    상기 명령은 사용자 계정과 권한을 삭제합니다.

    결론

    본 강좌는 기본 내용만 소개하지만, 새로운 MySQL 사용자 계정을 만들고 특권을 부여하는 방법을 배우고 싶은 모든 사람들에게 좋은 출발점이 될 것입니다.질문이나 피드백이 있으면 언제든지 댓글을 달아주세요.