[MDEV-10652] Invalid definer for a procedure Created: 2016-08-24 Updated: 2016-08-31 Resolved: 2016-08-26 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Authentication and Privilege System, Data Definition - Procedure |
| Affects Version/s: | 10.1.14 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Minor |
| Reporter: | Igor Pashev | Assignee: | Unassigned |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
This is quite cryptic. I create a procedure from a script running as mariadb UNIX user (under systemd service, no human factor), identified by UNIX socket. I expect that the definer (owner) of the procedure is mariadb@localhost. This is the case 99.9999% of time. But at least two times when I called this procedure I saw the error The user specified as a definer ('root'@'%') does not exist. It worth mention that user root does not exist in mysql.user at all. As a workaround I restart the systemd service and get properly defined procedure.
Procedure:
|
| Comments |
| Comment by Elena Stepanova [ 2016-08-26 ] | ||||||
|
I think you should start by checking your scripts. The procedures in the description are clearly different. The "normal" one has
and the "bad" one has
If you don't find how the alternative procedure is created, you could try to enable the general log, this way you'll see which connection it comes from. | ||||||
| Comment by Igor Pashev [ 2016-08-26 ] | ||||||
|
Holy cow! I was blind, thank you. |