Hi, Alexey! I think, specify a non-empty DEFINER explicitly.
Doesn't matter which one, it's mysql_install_db, so there are few definers that are guaranteed to exist (as they are created by mysql_install_db itself), use one of those, for example, root@localhost. Those procedures are SQL SECURITY INVOKER anyway. On Jun 25, Alexey Botchkov wrote: > > I'm in doubts about how this one should be fixed: > > https://jira.mariadb.org/browse/MDEV-10119 > > The story goes like this: > > - mysql_install_db script runs 'mysqld --skip-grant-tables' > > In this case the 'current_user()' seems to be empty. > > - so the CREATE PROCEDURE command in the bootstrap creates the procedure > with the empty DEFINER. > > - as a result, the 'SHOW CREATE PROCEDURE' returns query started with > > 'CREATE DEFINER=`` PROCEDURE...', > > - that DEFINER=`` gives an error when feed to the server. > > That can be fixed on any stage. We can do any of these: > > - set some 'current_user()' to be not empty even with the > --skip-grant-tables option > > - specify some non-empty DEFINER for the CREATE PROCEDURE statement > > (in both options it's not that clear what user could that be) > > - fix the SHOW CREATE PROCEDURE statement so it doesn't add the > errorneous DEFINER=`` to the query. > > - make server handling the 'DEFINER=``' with no error. Maybe assigning > the 'current_user()' in this case. > > So, what can You recommend as a fix in this case? > > Best regards. > HF Regards, Sergei Chief Architect MariaDB and secur...@mariadb.org _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp