Пользователь с дает разрешения, не может дать разрешения для нового пользователя с и новой базы данных

Я использую: mysql 5.5.43-0 на человечности 14.04.1

Я пытаюсь создать нового администратора-пользователя (администратор), которому разрешают сделать следующие вещи:

  • создающие новые пользователи (dbuser1) с паролем - (разрешение "создают пользователя"-> работы),
  • b пароль набора для нового созданного пользователя - (разрешение "вставляют/обновляют на таблице mysql.user"-> работы),
  • c предоставляют использование всем таблицам - (ИСПОЛЬЗОВАНИЕ ПРЕДОСТАВЛЕНИЯ НА. К 'dbuser1' 'localhost' ОПРЕДЕЛЕННЫЙ...-> работы)
  • d создание новой базы данных (db4user1) - (разрешение "создают"-> работы),
  • e предоставление всех полномочий - (ПРЕДОСТАВЛЯЮТ ВСЕ ПОЛНОМОЧИЯ НА db4user1.* К 'dbuser1' 'localhost';) - (предоставление разрешения на администратора-> не работает),

У меня была проблема с шагом e.

Mysql показывает следующую ошибку: № 1044 - Доступ запрещен для пользователя 'администратор' 'localhost' к базе данных 'db4user1'

Вопрос: Какие дополнительные полномочия/полномочия нуждается в моем администраторе, чтобы сделать вышеупомянутые действия и не что иное как это.

Я думаю, что у моего администратора-пользователя были все полномочия предоставить существующему пользователю новой созданной базе данных...

Но это не работало.

Спасибо за помощь

Stephan

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 - Доступ запрещен для пользователя 'администратор' 'localhost' к базе данных 'db4user1'

0
задан 20 May 2015 в 03:20
2 ответа

Мне кажется, что вы хотите создать еще одного администратора, например, по умолчанию root , поэтому вы можете использовать простой синтаксис, например:

GRANT ALL ON *.* TO admin@localhost IDENTIFIED BY 'passwd5678' WITH GRANT OPTION;
0
ответ дан 5 December 2019 в 12:44

Минимальное требование для предоставления достаточных прав данному пользователю (здесь admin ), чтобы иметь возможность предоставлять все привилегии для данной БД ( 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 ;

Почти все ... кроме :

  • Создать (область структуры)
  • Выбрать , Вставить , Обновление , Удалить (Объем данных)

Отсюда, используя admin пользователь:

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

Признаюсь, я не нашел для этого никаких документов. Раньше я тратил много времени на проверку всех возможностей путем исключения, одну за другой ...

0
ответ дан 5 December 2019 в 12:44

Теги

Похожие вопросы