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 OPTION
GRANT ALL PRIVILEGES ON mydb.* TO 'java'@'%' WITH GRANT OPTION
FLUSH PRIVILEGES
sudo service restart mysql
DROP USER ''
Dumps of the SHOW GRANTS
s:
Grants for java@%
GRANT USAGE ON *.* TO 'java'@'%'
GRANT ALL PRIVILEGES ON 'mydb'.* TO 'java'@'%' WITH GRANT OPTION
GRANT ALL PRIVILEGES ON 'mydb'.'videogames' TO 'java'@'%' WITH GRANT OPTION
Grants for java@localhost
GRANT 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 OPTION
GRANT 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.