MySQL Forums
Forum List  »  General

Very original problem with MySQL
Posted by: Gregg Boethin
Date: January 24, 2005 03:08AM

Hi all. I've searched the web thoroughly for the answers to this problem. As near as I can tell, I'm the first to have this misfortune.

I upgraded from MySQL 3.23 to 4.1 about a month ago. I converted my tables and upgraded my mysql database with mysql_fix_privilege_tables. I did everything I was supposed to do after upgrading to 4.1.

I use phpMyAdmin for most of my DB work, and I was still seeing the databases of other users in my accounts after loggin into phpMyAdmin. This is evidently a pretty common problem to phpMyAdmin users after upgrading to 4.0 and later. Everyone who's ever had this problem solved it by changing the two global privileges in the mysql.user table that are automatically set to 'Y' after upgrading and running the mysql_fix_privilege_tables script (changing them from 'Y' to 'N'). I did that, and it still didn't fix my problem.

I spent most of the day today combing the mysql database, trying to find a problem in there. I can tell you that none of my users (with the exception of root and a few other administrative accounts) had global privileges of any sort, but their databases were still visible by other users. They weren't only visible; they could be accessed and changed by other users.

In addition to what was going on at phpMyAdmin, I found that after making administrative changes from within the shell to my MySQL accounts, other accounts would loose access privileges. For example, I'd revoke a privilege on account x, and account y could no longer be accessed.

Here's what's even stranger: after making a change to account x, I'd flush the privileges, and account y would go dead (account y is the database for a website). I'd make a change in account x, flush the priveleges, and when the scripts that accessed account y tried to connect to that database, they'd get an error message that read "Access denied for user:...". No explanation for why access was denied... no mention of a password being used or anything. Just, "access denied for user:".

What's stranger even yet is that right after flushing the privileges, and finding that account y could no longer be accessed, I'd flush the privileges again, and account y would start working. I'd flush the privileges after making changes to account x, and account y--which isn't even remotely related to account x--would stop working. I'd flush the privileges again, and it'd start working again.

WITF?

I decided that the problem must be somewhere in the grant tables, so I started a brand new mysql database and entered new user and db fields. Things were going well until I got to the third database, and all of a sudden the same problems started happening again.

This has been so frustrating that I almost want to move everything to a Windows Server. It's been that bad. No logical explanation for why any of this could be happening... no rhyme or reason. It's like my server is possessed or something.

I don't think it's a problem with phpMyAdmin, because of what was going on with the account x and account y business. I'm pretty sure that it's a problem within MySQL itself.

Do you think this could be a bug of some sort in MySQL? Or could it possibly be an error on my end? Should I think about switching to a different version of MySQL?

Any advice would be very much appreciated. Useful advice would be even better.

Thanks in advance,
Gregg

Options: ReplyQuote


Subject
Written By
Posted
Very original problem with MySQL
January 24, 2005 03:08AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.