Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 사용자에게 데이터베이스의 모든 권한을 부여하는 방법

MySQL에서 특정 사용자에게 데이터베이스의 모든 권한을 부여하려면 CREATE USERGRANT 명령어를 함께 사용해야 합니다. 이 글에서는 사용자 생성부터 권한 부여까지 전체 과정을 예제와 함께 살펴보겠습니다.

1단계: 사용자 계정 생성하기

먼저 CREATE USER 명령어를 사용하여 새로운 사용자와 비밀번호를 생성합니다. 기본 문법은 다음과 같습니다.

CREATE USER 'yourUserName'@'localhost' IDENTIFIED BY 'yourPassword';

2단계: 데이터베이스의 모든 권한 부여하기

특정 데이터베이스에 대한 모든 권한(SELECT, INSERT, UPDATE, DELETE 등)을 사용자에게 부여하려면 아래 문법을 사용합니다.

GRANT ALL PRIVILEGES ON yourDatabaseName.* TO 'yourUserName'@'localhost';

여기서 yourDatabaseName.*는 해당 데이터베이스 내의 모든 테이블을 의미합니다. 만약 서버의 모든 데이터베이스에 대한 권한을 부여하고 싶다면 *.*로 지정하면 됩니다.

실전 예제

이제 위의 문법을 실제로 적용해 보겠습니다. 먼저 'Adam Smith'라는 이름의 사용자를 생성하는 쿼리는 다음과 같습니다.

mysql> create user 'Adam Smith'@'localhost' IDENTIFIED BY 'Adam123456';
Query OK, 0 rows affected (0.29 sec)

사용자가 정상적으로 생성되었습니다. 이제 test 데이터베이스의 모든 권한을 해당 사용자에게 부여합니다.

mysql> GRANT ALL PRIVILEGES ON test.* TO 'Adam Smith'@'localhost';
Query OK, 0 rows affected (0.19 sec)

권한 변경 사항 적용하기

MySQL 버전에 따라 권한 변경 사항이 즉시 반영되지 않을 수 있습니다. 이 경우 아래 명령어로 권한 테이블을 새로고침할 수 있습니다.

FLUSH PRIVILEGES;

부여된 권한은 다음 쿼리로 확인할 수 있습니다.

SHOW GRANTS FOR 'Adam Smith'@'localhost';

이처럼 CREATE USER로 계정을 만들고 GRANT ALL PRIVILEGES로 권한을 부여하면, 해당 사용자는 지정된 데이터베이스에 대해 자유롭게 작업을 수행할 수 있습니다. 보안을 위해 실제 운영 환경에서는 필요한 권한만 선별적으로 부여하는 것을 권장합니다.