Mysql
 sql >> база данни >  >> RDS >> Mysql

Алтернативи на MySQL Workbench - ClusterControl Database User Management

Управлението на потребителите и привилегиите на MySQL е много важно за целите на удостоверяване, оторизация и счетоводство. След MySQL 8.0 вече има два типа потребителски привилегии на база данни:

  1. Статични привилегии – Общите глобални, схематични и административни привилегии като SELECT, ALTER, SUPER и USAGE, вградени в сървъра.
  2. Динамични привилегии – Ново в MySQL 8.0. Компонент, който може да бъде регистриран и нерегистриран по време на изпълнение, което осигурява по-добър контрол върху глобалните привилегии. Например, вместо да се присвоява привилегия SUPER само за целите на управлението на конфигурацията, по-добре е на този конкретен потребител да бъде предоставено само привилегия SYSTEM_VARIABLES_ADMIN.

Създаването на схема на база данни със съответния потребител е първата стъпка, за да започнете да използвате MySQL като сървър на база данни. Повечето приложения, които използват MySQL като хранилище за данни, изискват тази задача да бъде извършена, преди приложението да може да работи по предназначение. За да се използва с приложение, обикновено потребител на MySQL е конфигуриран да има пълни привилегии (ВСИЧКИ ПРИВИЛЕГИИ) на ниво схема, което означава, че потребителят на базата данни, използван от приложението, има свободата да извършва всякакви действия върху присвоената база данни.

В тази публикация в блога ще сравним и контрастираме функциите за управление на потребителите на базата данни MySQL между MySQL Workbench и ClusterControl.

MySQL Workbench – Управление на потребителите на база данни

За MySQL Workbench можете да намерите всички неща за управление на потребителите в Администрация -> Управление -> Потребител и привилегии. Трябва да видите списък на съществуващите потребители от лявата страна, докато от дясната страна е секцията за конфигуриране на удостоверяване и оторизация за избрания потребител:

MySQL поддържа над 30 статични привилегии и не е лесно за разбиране и запомняне мола. MySQL Workbench има редица предварително зададени административни роли, което е много полезно при присвояване на достатъчно привилегии на потребител на база данни. Например, ако искате да създадете потребител на MySQL специално за извършване на дейности по архивиране с помощта на mysqldump, можете да изберете ролята на BackupAdmin и съответните глобални привилегии ще бъдат присвоени на потребителя съответно:

За да създадете нов потребител на база данни, щракнете върху бутона "Добавяне на акаунт" и предостави необходимата информация в раздела „Вход“. Можете да добавите още някои ограничения за ресурсите в раздела „Ограничение на акаунта“. Ако потребителят е само за схема на база данни и не е предназначен за никаква административна роля (строго за използване на приложения), можете да пропуснете раздела „Административни роли“ и просто да конфигурирате „Привилегии на схемата“.

В секцията „Привилегии на схемата“ можете да изберете схема на база данни (или да дефинирате съвпадащия модел), като щракнете върху „Добавяне на запис“. След това натиснете бутона „Изберете ВСИЧКИ“, за да разрешите всички права (с изключение на GRANT OPTION), което е подобно на оператора на опцията „ALL PRIVILEGES“:

Потребител на база данни няма да бъде създаден в MySQL сървъра, докато не кандидатствате промените, като щракнете върху бутона „Приложи“.

ClusterControl – Управление на потребителите на база данни и прокси

Управлението на базата данни и потребителите на ClusterControl е малко по-лесно от това, което MySQL Workbench предлага. Докато MySQL Workbench е по-удобен за разработчиците, ClusterControl е фокусиран повече върху това, от което се интересуват SysAdmins и DBA, по-скоро като общи административни неща за тези, които вече са запознати с MySQL ролите и привилегиите.

За да създадете потребител на база данни, отидете на Управление -> Схеми и потребители -> Потребители -> Създаване на нов потребител. Ще ви бъде представен следния съветник за създаване на потребители:

Създаването на потребител в ClusterControl изисква да попълните всички необходими полета в едно страница, за разлика от MySQL Workbench, който включва редица щраквания за постигане на подобни резултати. ClusterControl също така поддържа създаване на потребител със синтаксис „ИЗИСКВА SSL“, за да наложи достъп на конкретния потребител само чрез SSL канал за криптиране.

ClusterControl предоставя обобщен изглед на всички потребители на база данни в клъстер, като ви елиминира да влизате във всеки отделен сървър, за да търсите конкретен потребител:

Просто превъртане на мишката върху полето за привилегии разкрива всички привилегии, които са били присвоени на този потребител. ClusterControl също така предоставя списък с неактивни потребители, потребителски акаунти, които не са били използвани от последното рестартиране на сървъра:

Списъкът по-горе ни дава ясно обобщение кои потребители си струва да съществуват , което ни позволява да управляваме по-ефективно потребителя. След това администраторите на база данни могат да попитат разработчика дали неактивният потребител на базата данни все още е необходим, за да бъде активен, в противен случай потребителският акаунт може да бъде заключен или прекратен.

Ако имате ProxySQL балансиране на натоварването между тях, може да знаете, че ProxySQL има свое собствено управление на потребители на MySQL, което позволява да се предава през него. Има редица различни настройки и променливи в сравнение с обичайните потребителски конфигурации на MySQL, например хостгрупа по подразбиране, схема по подразбиране, постоянство на транзакциите, бързо напред и много други. ClusterControl предоставя графичен потребителски интерфейс за управление на потребителите на ProxySQL база данни, подобрявайки изживяването и ефективността на управлението на вашите прокси и потребителите на база данни наведнъж:

Когато създавате нов потребител на база данни чрез страница за управление на ProxySQL, ClusterControl автоматично ще създаде съответния потребител на ProxySQL и MySQL. Въпреки това, когато изтриете MySQL потребител от ProxySQL, съответният потребител на база данни ще остане на MySQL сървъра.

Предимства и недостатъци

ClusterControl поддържа множество доставчици на бази данни, така че ще получите подобно потребителско изживяване при работа с други сървъри на бази данни. ClusterControl също така поддържа създаване на потребител на база данни на множество хостове наведнъж, където ще се увери, че създаденият потребител съществува на всички сървъри на база данни в клъстера. ClusterControl има по-изчистен начин при изброяване на потребителски акаунти, където можете да видите цялата необходима информация направо в страницата с списък. Въпреки това, управлението на потребителите изисква активен абонамент и не е налично в изданието на общността. Той не поддържа всички платформи, които MySQL може да изпълнява, особено само определени Linux дистрибуции като CentOS, RHEL, Debian и Ubuntu.

Най-силното предимство на MySQL Workbench е, че е безплатно и може да се използва заедно с управление и администриране на схеми. Той е създаден, за да бъде по-приятелски настроен към разработчиците и администраторите на база данни и има предимството да бъде изграден и подкрепен от екипа на Oracle, който притежава и поддържа MySQL сървър. Той също така предоставя много по-ясни насоки с описание на повечето полета за въвеждане, особено в критичните части като удостоверяване и управление на привилегии. Предварително зададената административна роля е чист начин за предоставяне на набор от привилегии на потребител, въз основа на работата, която потребителят трябва да извършва на сървъра. От друга страна, MySQL Workbench не е удобен за клъстери инструмент, тъй като всяка връзка за управление е съобразена с една крайна точка MySQL сървър. По този начин той не предоставя централизиран изглед на всички потребители в клъстера. Освен това не поддържа създаване на потребители с прилагане на SSL.

И двата инструмента не поддържат новия синтаксис за динамични привилегии на MySQL 8.0, напр. BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN и т.н.

Следващата таблица подчертава забележителните характеристики на двата инструмента за лесно сравнение:

Аспект на управление на потребителите

MySQL Workbench

ClusterControl

Поддържана ОС за MySQL сървър

  • Linux

  • Windows

  • FreeBSD

  • Отворете Solaris

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

Доставчик на MySQL

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Кодерство

Поддържа управление на потребителите за друг софтуер

 
  • ProxySQL

Управление на потребителите с няколко хоста

Не

Да

Агрегиран изглед на потребителите в клъстер от база данни

Не

Да

Показване на неактивни потребители

Не

Да

Създаване на потребител с SSL

Не

Да

Описание на привилегията и ролята

Да

Не

Предварително зададена административна роля

Да

Не

Динамични привилегии на MySQL 8.0

Не

Не

Разходи

Безплатно

Необходим е абонамент за функции за управление


Надяваме се, че тези публикации в блога ще ви помогнат да определите кои инструменти са най-подходящи за управление на вашите MySQL бази данни и потребители.
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите размера на базата данни и таблиците на MySQL

  2. Примери за транзакции на PHP + MySQL

  3. Бърз лесен начин за мигриране на SQLite3 към MySQL?

  4. Как да създавате и изтривате бази данни и таблици в MySQL

  5. mysql root паролата е забравена