728x90
반응형
질문 : MySQL : 데이터베이스에 대한 ** 모든 ** 권한 부여
예를 들어 'mydb'와 같은 데이터베이스를 만들었습니다.
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;
이제 어디서나 데이터베이스에 로그인 할 수 있지만 테이블을 만들 수는 없습니다.
해당 데이터베이스 및 (향후) 테이블에 대한 모든 권한을 부여하는 방법. 'mydb'데이터베이스에 테이블을 만들 수 없습니다. 나는 항상 얻는다 :
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
답변
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%' WITH GRANT OPTION;
이것이 내가 "수퍼 유저"권한을 만드는 방법입니다 (일반적으로 호스트를 지정하지만).
이 답변은 액세스 문제를 해결할 수 있지만 WITH GRANT OPTION
은 다른 사용자의 권한을 편집 할 수있는 MySQL 사용자를 만듭니다.
GRANT OPTION 권한을 사용하면 다른 사용자에게 부여하거나 자신이 소유 한 권한을 다른 사용자로부터 제거 할 수 있습니다.
보안상의 이유로 일반인이 액세스 할 수있는 모든 프로세스 (예 : 웹 사이트)에이 유형의 사용자 계정을 사용해서는 안됩니다. 이러한 종류의 사용에 대한 데이터베이스 권한 만있는 사용자 를 생성하는 것이 좋습니다.
출처 : https://stackoverflow.com/questions/5016505/mysql-grant-all-privileges-on-database
728x90
반응형
'프로그래밍 언어 > Database' 카테고리의 다른 글
[Database] left, right, outer, inner join의 차이점 (0) | 2021.08.09 |
---|---|
특정 마이그레이션을 롤백하는 방법 (0) | 2021.07.19 |
Docker에서 영구 저장소 (예 : 데이터베이스)를 처리하는 방법 (0) | 2021.07.14 |
MySQL의 명령 줄을 사용하여 SQL 파일을 가져오는 방법 (0) | 2021.07.14 |
PostgreSQL 데이터베이스의 모든 테이블을 삭제하는 방법 (0) | 2021.07.13 |