Problem:
I'm using a local MySQL database on Ubuntu 15.10.
I have two users: the root user and a user called java with password password. The latter is used for a Java JPA test application.
I need 'java'@'localhost' have all privileges for the videogames database (I'm unconcerned with security).
What I did
I use mysql -u root -p to get into the console, then do GRANT ALL PRIVILEGES ON mydb.videogames TO 'java'@'localhost' WITH GRANT OPTION.
Then I do mysql -u java -p and show databases, showing the few databases user java has access to but it doesn't show the videogames database.
Connecting with the Java/JPA app gives throws an Exception Access denied for user 'java'@'localhost' to database 'videogames' (Error Code: 1044)
I have tried:
GRANT ALL PRIVILEGES ON mydb.videogames TO 'java'@'%' WITH GRANT OPTIONGRANT ALL PRIVILEGES ON mydb.* TO 'java'@'%' WITH GRANT OPTIONFLUSH PRIVILEGESsudo service restart mysqlDROP USER ''
Dumps of the SHOW GRANTSs:
Grants for java@%GRANT USAGE ON *.* TO 'java'@'%'GRANT ALL PRIVILEGES ON 'mydb'.* TO 'java'@'%' WITH GRANT OPTIONGRANT ALL PRIVILEGES ON 'mydb'.'videogames' TO 'java'@'%' WITH GRANT OPTION
Grants for java@localhostGRANT USAGE ON *.* TO 'java'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'GRANT ALL PRIVILEGES ON 'javabase'.* TO 'java'@'localhost'GRANT ALL PRIVILEGES ON 'mydb'.* TO 'java'@'localhost' WITH GRANT OPTIONGRANT ALL PRIVILEGES ON 'mydb'.'videogames' TO 'java'@'localhost' WITH GRANT OPTION
Dump of SELECT user, host FROM mysql.user;:
+------------------+--------------------------+
| user | host |
+------------------+--------------------------+
| java | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | (name of my pc) |
| debian-sys-maint | localhost |
| java | localhost |
| root | localhost |
+------------------+--------------------------+
Any help is appreciated.