I-Cube

Использование API и mgrct

Всем привет!

Уже несколько часов не могу разобраться с документацией по API. Все что смог за это время - освоить простейшее:

  • Создать БД и пользователя

    /usr/local/mgr5/sbin/mgrctl -m ispmgr db.edit name=migrtest username=migrtest owner=migrtest password=SuperPass123 sok=ok
    
  • Удалить БД

    /usr/local/mgr5/sbin/mgrctl -m ispmgr db.delete elid='migrtest->MySQL'
    
  • Переименовать БД

    /usr/local/mgr5/sbin/mgrctl -m ispmgr db.edit elid='migrtest->MySQL' name=newdb sok=ok
    

Но так и не понял как выполнить:

  • переименовать пользователя БД
  • добавить/удалить пользователя в БД
  • изменить пароль пользователя

О таких задачах типа импорт/экспорт БД или данных даже и не мечтаю... elid, plid, ...

Разные видел API, но таких проблем никогда было.

Вызываю mgrctl -m ispmgr -i и, например, в упор не вижу таких функций как:

  • db.server.delete
  • db.users.delete
  • db.users.edit
  • и т.д.

Или как вот, например, понимать эти параметры из документации:

  • name — Пользователь. Имя пользователя баз данных
  • username — Имя пользователя. Имя нового пользователя баз данных

А это не одно и тоже?

Подскажите, пожалуйста, как работать минимально с этим API?

Грепал логи запросов /usr/local/mgr5/var/ispmgr.log, но это вообще отдельная история с json.

02.10.2025 19:26

IgorG

Предлагаю воспользоваться таким универсальным лайфхаком работы с API:

Открываете консоль разработчика в браузере, раздел "сеть", проверяете что у вас логируются запросы и их параметры, идёте в панель, делаете нужное действие с базой или пользователем БД, в логе консоли разработчика ищите обращение к /ispmgr, которое появилось после вашего действия. Копируете его с параметрами, добавляете стандартный параметр аутентификации authinfo=login:pass  и получаете нужный вам API запрос для curl или, с небольшой адаптацией, для mgrctl.

16.10.2025 03:48

IgorG
Предлагаю воспользоваться таким универсальным лайфхаком работы с API: Открываете консоль разработчика в браузере, раздел "сеть", проверяете что у вас логируются запросы и их параметры, идёте в панель, делаете нужное действие с базой или пользователем БД, в логе консоли разработчика ищите обращение к /ispmgr, которое появилось после вашего действия. Копируете его с параметрами, добавляете стандартный параметр аутентификации authinfo=login:pass  и получаете нужный вам API запрос для curl или, с небольшой адаптацией, для mgrctl.
I-Cube

Аналогично этому в оф.документации предлагается вариант через лог /usr/local/mgr5/var/ispmgr.log, но ваш вариант через GET-запрос в инструментах разработчика гораздо удобнее.
Спасибо! Видимо других вариантов не остается, т.к. работа с mgrctl толком не описана.

17.10.2025 13:52

IgorG

В настоящее время идет работа по полному переписыванию раздела документации по API с использованием Swagger. Так что скоро все будет круто.

17.10.2025 15:49