First, this is not a duplicate of: MySQL error 1449: The user specified as a definer does not exist
I have a php app that's been running fine for 5 years, which runs inline sql from the php connecting to its mysql instance. Suddenly yesterday users started getting this error The user specified as a definer does not exist
.
So I fired up HeidiSQL and ran the following insert statement, which should work fine:
INSERT INTO Users (Email) VALUES ('foo@bar.com')
And I get this exact error:
SQL Error (1449): The user specified as a definer ('usaarbit'@'24.10.133.%') does not exist.
I am using BlueHost. One problem is that this user usaarbit
is not the user I connected with from Heidi, nor is it the user my php webapp uses to connect to mysql. In fact I don't know that user. I recognize the string: it's the root of domain - but it's not a mysql user I set up. Perhaps it's some default, auto-generated user that bluehost creates??
So...there are other stack posts regarding this error, and they say to run something like this:
GRANT ALL ON *.* TO 'usaarbit'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;
I don't see how I can run that, not knowing what the heck the usaarbit
user is, and thus not knowing the password.
Also, in the stack article linked above, it talks about this error message as though it relates only to stored procs, views, and triggers. I am running an ordinary insert
statement. There is no stored proc, no view, no trigger.
I did run the GRANT ALL
against my actual user (usaarbit_*****
(obscured, not actually stars)) which connects from Heidi and PHP to that database, but that did no good, as expected, since it's NOT the user in question.
It is as though, when trying to run INSERTs (selects continue to work fine), mysql on the server ignores the user I'm trying to connect with and instead tries to connect with this mythical usaarbit
, which apparently has screwed up permissions, and which I don't know the password for.
Also, my actual username is usaarbit_*****
(obscured, not actually stars). So you can see that the prefix of the username is usaarbit
, but that's not the username itself.
Any ideas?