부여 권한이 있는 사용자는 새 데이터베이스를 사용하는 새 사용자에게 권한을 부여할 수 없습니다.

부여 권한이 있는 사용자는 새 데이터베이스를 사용하는 새 사용자에게 권한을 부여할 수 없습니다.

나는 우분투 14.04.1에서 mysql 5.5.43-0을 사용하고 있습니다.

다음 작업을 수행할 수 있는 새로운 관리자(admin)를 생성하려고 합니다.

  • 비밀번호로 새 사용자(dbuser1) 생성 - ("사용자 생성" 권한 -> 작동)
  • b 새로 생성된 사용자의 비밀번호 설정 - ("mysql.user 테이블에 대한 삽입/업데이트" 권한 -> 작동)
  • c 모든 테이블에 사용 권한 부여 - (GRANT USAGE ON.TO 'dbuser1'@'localhost' IDENTIFIED BY ... -> 작동)
  • d 새 데이터베이스 생성(db4user1) - ("create" 권한 -> 작동)
  • e 모든 권한 부여 - (GRANT ALL PRIVILEGES ON db4user1.* TO 'dbuser1'@'localhost';) - (관리자에 대한 권한 부여 -> 작동하지 않음)

e 단계에서 문제가 발생했습니다.

Mysql은 다음 오류를 표시합니다. #1044 - 사용자 'admin'@'localhost'의 데이터베이스 'db4user1'에 대한 액세스가 거부되었습니다.

질문: 위에 언급된 작업을 수행하기 위해 관리자에게 필요한 추가 권한/권한은 무엇입니까?

내 관리 사용자는 새로 생성된 데이터베이스에 기존 사용자를 부여할 수 있는 모든 권한을 갖고 있는 것 같습니다.

그러나 그것은 작동하지 않았습니다.

당신의 도움을 주셔서 감사합니다

스테판

CREATE USER 'dbuser1'@'localhost' IDENTIFIED BY 'password1234'
SET PASSWORD FOR 'dbuser1'@'localhost' = PASSWORD('password5678')
GRANT USAGE ON *.* TO 'dbuser1'@'localhost' IDENTIFIED BY 'password5678' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE DATABASE IF NOT EXISTS `db4user1`; 
GRANT ALL PRIVILEGES ON `db4user1`.* TO 'dbuser1'@'localhost'; 

-> #1044 - 'admin'@'localhost' 사용자의 데이터베이스 'db4user1'에 대한 액세스가 거부되었습니다.

답변1

제가 보기에는 default 와 같은 또 다른 관리자를 생성하려는 것 같으 root므로 다음과 같은 간단한 구문을 사용할 수 있습니다.

GRANT ALL ON *.* TO admin@localhost IDENTIFIED BY 'passwd5678' WITH GRANT OPTION;

답변2

admin특정 DB(여기)에 대한 모든 권한을 부여할 수 있도록 특정 사용자(여기)에게 충분한 권한을 부여하기 위한 최소 요구 사항은 db4user1다음과 같습니다.

GRANT DROP ,
REFERENCES ,
INDEX ,
ALTER ,
CREATE TEMPORARY TABLES ,
LOCK TABLES ,
CREATE VIEW ,
EVENT,
TRIGGER,
SHOW VIEW ,
CREATE ROUTINE,
ALTER ROUTINE,
EXECUTE ON  `db4user1` . * TO  'admin'@'localhost' WITH GRANT OPTION ;

거의 다...제외하고:

  • Create(구조 범위)
  • Select, Insert, Update, Delete(데이터 범위)

여기에서 admin사용자를 사용하여:

mysql> GRANT ALL PRIVILEGES ON db4user1.* TO 'dbuser1'@'localhost';
Query OK, 0 rows affected (0.00 sec)

이에 대한 문서를 찾지 못했다는 것을 인정합니다. 과거에는 하나씩 제거하면서 모든 가능성을 테스트하는 데 많은 시간을 보냈습니다.

관련 정보