The non-root user in my mysql has no privileges once logged in, despite what the configuration is saying.
I can log into mysql with root, and with my own account.
mysql> select user,host from mysql.user;
+-------+------------------+
| user | host |
+-------+------------------+
| jake | % |
| root | 127.0.0.1 |
| root | ::1
+--------------------------+
And when I log in as my own user, and run the server status, it shows that I'm logged in as my own user from localhost.
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.5.38, for osx10.10 (x86_64) using readline 5.1
Connection id: 85
Current database:
Current user: jake@localhost
but when I try to do anything:
mysql> use mysql;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
I get an error message that indicates my username is NULL. This seems impossible.
This non-root user has every known global privilege, which I've confirmed with phpmyadmin, which also works as long as I log in as root.
Why does the error message indicate a NULL username, which conflicts with the information returned by \s command?
Update: I just checked another non-root user, and this account is behaving as expected. The problem is apparently limited to just the account which matches my macos account.
I'm on Yosemite, Mysql-5.5.38.