Long story short, I ended up deleting the root user from PHPMyAdmin in EasyPHP. After some researching, I used skip-grant-tables to regain database access. Now, however, I
This was super annoying.
It appears to be a bug with phpMyAdmin.
Clear your browser cookies, what's happening is phpMyAdmin has "cached" the fact that you do not (or possibly didn't have at some point) create database access.
There's no way to reset it other than deleting your cookies for phpMyAdmin in your browser window (to get a new 'session id'), or deleting the session files on the phpMyAdmin web server.
Turns out to be some sort of issue specific to Google Chrome, as it now works in IE. I'll try running CCleaner.
Thanks all.
I just experienced the same issue (lost access to my local databases). The problem does seem to be related to browsers running Gecko or similar (like KHTML... I'm on Opera). After deleting the phpMyAdmin cookie, as suggested, I still had No Privileges. So I went to localhost/xampp, then clicked on Security. On that page is a link (h-t-t-p://localhost/security/xamppsecurity.php) that took me to a page entitled Security console MySQL & XAMPP directory protection)
I left the current password field blank and entered a new password; I think I selected cookie as the PhpMyAdmin authentication method (it actually says PhpMyAdmin authentification, but hey...). Once I had submitted the password change and tried again to access phpMyAdmin, I got all my databases back and am again able to create more; the No Privileges message has disappeared!
There is still the message at the bottom saying
The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. To find out why click here.
But that's another river for another time.
cHao and Andrew's answers solved the problem for me. I reset all permissions in the MySQL db, user table, to yes. All dbs then reappeared in phpMyAdmin, but I had no 'create db' privilege there. Cleared the phpMyAdmin cookie and even upgraded phpMyAdmin with no success. Then I went into the tmp/php directory and deleted a session file I found there (named sess + random ascii), and success!
Been stuck with this a few times over the last few years... Easiest method I've found was today whilst setting up an RPi.
From the terminal run: $sudo mysql_secure_installation
and set up as appropriate for your implementation.
Then, setup user access with: $sudo mysql_setpermission
this will allow you to set a super/root user.
Just follow the prompts.
If your machine has IPv6 enabled, "localhost" will resolve to ::1
, rather than 127.0.0.1
. This can cause issues.
Try connecting to "127.0.0.1" rather than "localhost". That ought to force mysql to authenticate by IPv4 address, so make sure 127.0.0.1 is in there.
Alternatively, if you have admin access, you can map localhost back to 127.0.0.1 in c:\Windows\System32\Drivers\etc\hosts
.