Estou com um problema no produto:
Eu tenho um usuário chamado dba que tem todos os privilégios com opção de concessão, usei-o para criar uma função chamada teste, concedi alguns direitos ao teste de função e concedi o teste de função ao usuário 'nome.nome'@'10.25%' .
o problema é que apaguei o usuário dba, então agora minha função perdeu o usuário que tinha sua OPÇÃO ADMIN.
MariaDB [(none)]> SELECT count(*),User,Role,Admin_option FROM mysql.roles_mapping group by role DESC;
+----------+----------------------+-------------+--------------+
| count(*) | User | Role | Admin_option |
+----------+----------------------+-------------+--------------+
| 1 | name.name | test | N |
+----------+----------------------+-------------+--------------+
agora recriei o usuário dba,
Existe uma maneira de devolver a OPÇÃO ADMIN ao dba usando outro superusuário como root?
quais são as soluções possíveis para voltar ao estado normal?
mariadb info :
Server: MariaDB
Server version: 10.6.8-MariaDB-1:10.6.8+maria~stretch-log mariadb.org binary distribution
Protocol version: 10
Sim, como
dba
usuário (supondo que ele tenha todos os privilégios com opção de concessão novamente), você pode simplesmente descartar a função e recriá-la, e então concedê-la aoname.name
usuário novamente:Isso deve fornecer o mesmo conteúdo
mysql.roles_mapping
que você tinha antes.