기계적 인조 인간

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

What is MySQL? | How to Create Database and Tables in MySQL | MySQL Tutorial For Beginners | Edureka

What is MySQL? | How to Create Database and Tables in MySQL | MySQL Tutorial For Beginners | Edureka

차례:

Anonim

MySQL은 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. MySQL 서버를 사용하면 수많은 사용자 계정을 만들고 적절한 권한을 부여하여 사용자가 데이터베이스에 액세스하고 관리 할 수 ​​있습니다.

이 튜토리얼은 MySQL 사용자 계정을 생성하고 권한을 부여하는 방법을 설명합니다.

시작하기 전에

시스템에 이미 MySQL 또는 MariaDB 서버가 설치되어 있다고 가정합니다.

모든 명령은 MySQL 셸 내에서 루트 또는 관리 사용자로 실행됩니다. 사용자 계정을 생성하고 권한을 정의하는 데 필요한 최소 권한은 CREATE USER GRANT 입니다.

MySQL 쉘에 액세스하려면 다음 명령을 입력하고 프롬프트가 표시되면 MySQL 루트 사용자 비밀번호를 입력하십시오.

mysql -u root -p

새로운 MySQL 사용자 계정 생성

MySQL의 사용자 계정은 사용자 이름과 호스트 이름 부분으로 구성됩니다.

새로운 MySQL 사용자 계정을 만들려면 다음 명령을 실행하십시오.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'; 자리 표시 자 값 newuser 를 원하는 새 사용자 이름으로 user_password 자리 표시 자 값 user_password 를 사용자 암호로 바꿉니다.

위의 명령에서 hostname 부분은 localhost 로 설정됩니다. 즉, 사용자는 로컬 호스트 (예: MySQL 서버가 실행되는 시스템)에서만 MySQL 서버에 연결할 수 있습니다.

다른 호스트에서 액세스 권한을 부여하려면 원격 시스템 IP로 호스트 이름 부분 ( localhost )을 변경하십시오. 예를 들어, 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에서 지원하는 전체 권한 목록은 여기에서 찾을 수 있습니다.

가장 일반적으로 사용되는 권한은 다음과 같습니다.

  • ALL PRIVILEGES – 사용자 계정에 모든 권한을 부여합니다. CREATE – 사용자 계정으로 데이터베이스와 테이블을 만들 수 있습니다. DROP 사용자 계정이 데이터베이스 및 테이블을 삭제할 수 있습니다. 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 SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

MySQL 사용자 계정 권한 표시

특정 MySQL 사용자 계정에 부여 된 권한을 찾으려면 SHOW GRANTS 문을 사용하십시오.

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | 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 사용자 계정에서 권한 취소

사용자 계정에서 하나 이상의 권한을 취소하는 구문은 권한을 부여 할 때와 거의 동일합니다.

예를 들어 특정 데이터베이스에 대한 사용자 계정의 모든 권한을 취소하려면 다음 명령을 사용하십시오.

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

기존 MySQL 사용자 계정 제거

MySQL 사용자 계정을 삭제하려면 DROP USER 문을 사용하십시오.

DROP USER 'user'@'localhost'

위의 명령은 사용자 계정과 해당 권한을 제거합니다.

결론

이 튜토리얼은 기본 사항 만 다루지 만 새로운 MySQL 사용자 계정을 생성하고 권한을 부여하는 방법을 배우려는 사람에게는 좋은 출발점이 될 것입니다.

MySQL MariaDB