programing

mariadb 사용자에게 데이터베이스 생성 권한 부여

bestcode 2022. 9. 21. 00:10
반응형

mariadb 사용자에게 데이터베이스 생성 권한 부여

데이터베이스 관리에서 루트 사용자를 사용하는 것은 잘못된 행동이며 기본 권한(데이터베이스 작성, drop db, 새로 생성된 모든 db에 대한 모든 액세스 등)을 가진 커스텀 사용자를 설정하고 있습니다.
사용자를 생성했습니다.antoine이 사용자는 에 로그인하기 위해 사용되는 기본 사용자여야 합니다.mariadb server.

문제는 어떻게 관리 권한을 부여해야 하는지 모르겠다는 것입니다.create database xxx,drop database xxx등...매뉴얼에서는 특권을 부여하기 위해 다음 명령을 실행하는 방법에 대해 설명합니다.

GRANT role ON database.table TO user@host

하지만 서버 권한에 관해서는 어떻게 하면 좋을까요?*.*대신database.table효과가 없어요.

사용자를 생성한 후 사용자에게 다음과 같은 권한을 부여합니다.

CREATE USER 'antoine'@'localhost' IDENTIFIED VIA mysql_native_password USING 'a-password';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON *.* TO 'antoine'@'localhost'; 

데모:

접속할 수 있는 특권을 가진 사용자를 만듭니다.

mysql> create user 'testy'@'%' identified by 'testy';
Query OK, 0 rows affected (0.02 sec)

해당 사용자로 로그인하면 스키마(데이터베이스의 동의어)를 작성할 권한이 없습니다.

$ mysql -utesty -ptesty

mysql> create schema test2;
ERROR 1044 (42000): Access denied for user 'testy'@'%' to database 'test2'

admin 사용자로 로그인하여 권한을 부여합니다.

mysql> grant create on *.* to 'testy'@'%';
Query OK, 0 rows affected (0.01 sec)

이제 테스트 사용자가 이를 수행할 수 있습니다.

$ mysql -utesty -ptesty

mysql> create schema test2;
Query OK, 1 row affected (0.01 sec)

"실패했다"는 말이 무슨 뜻인지 모르겠어요.그것은 문제를 설명하는 좋은 방법이 아니다.당신이 실행한 명령어는 무엇입니까?그 명령을 했을 때 무슨 일이 있었나요?에러가 났나요?그렇다면 어떤 오류였습니까?

언급URL : https://stackoverflow.com/questions/64483694/grant-create-database-privilege-to-mariadb-user

반응형