0

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.

JakeHawkes42
  • 101
  • 1
  • 7

1 Answers1

0

I found the answer in another thread.

There was an anonymous user defined for localhost, that was masking my actual username.

Community
  • 1
  • 1
JakeHawkes42
  • 101
  • 1
  • 7