This week's giveaway is in the EJB and other Java EE Technologies forum.
We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line!
See this thread for details.
The moose likes JDBC and the fly likes MySQL Linux Administration Question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "MySQL Linux Administration Question" Watch "MySQL Linux Administration Question" New topic
Author

MySQL Linux Administration Question

Scott Updike
Ranch Hand

Joined: Feb 16, 2006
Posts: 92
Not sure if this is the proper forum, but I'll start here....

I just installed MySQL 5 in Debian Linux and have a question regarding root access. I followed the installation instructions to a tee and can confirm that the server is running. The one issue that I'm finding is that I can only run the core mysql applications (mysql, mysqlshow, mysqladmin) only as the Linux root user AND if I explicitly state the hostname with the -h option. If I try and launch these apps with any Linux user other than root OR if I don't specify the hostname, I get the following error:

prompt> mysql -u root -p mysql
Password: *****
"Access Denied for user ''@'localhost' (using PASSWORD:YES)"

If I type the following, I can get in:
prompt> mysql -u root -p -h [myhostname] mysql

Again, even as Linux root user, if I don't specify the hostname I get the same error message.

Not sure what I need to do to resolve this....or is this even an issue?

Just for reference, here's some other information:

"select user, host from user" on mysql database, I get the following
root | 127.0.0.1
root | localhost
root | [myhostname]

My /etc/hosts file looks like

127.0.0.1 localhost localhost
192.186.1.50 [myhostname] [myhostname]

Based on all the documentation I've read so far, not many installations require the -h option. Just want to make sure I don't run into any connection problems when I start connecting this instance to my java app through the connectors.

Thanks,
Scott
Paul Campbell
Ranch Hand

Joined: Oct 06, 2007
Posts: 338
http://dev.mysql.com/doc/refman/5.0/en/access-denied.html
Scott Updike
Ranch Hand

Joined: Feb 16, 2006
Posts: 92
I bet I've read that a 1000 times but I still can't seem to find what I'm looking for. Let's take a step back and I'll ask a more fundamental question:

what is preventing other Linux accounts from running mysql, mysqladmin, or mysqlshow even when they use the "-h [myhostname]" option? So far only the Linux superuser root account can run these programs.

I've made sure that everything is owned by the mysql user.

Scott
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19538
    
  16

If I recall correctly, some MySQL installations have a default blank password for root - one of the first things to fix.

That's probably why "mysql -u root -p -h [myhostname] mysql" is working - the "mysql" is not directly after the "-p" option, so it is NOT the password you are providing. More likely, you are giving an empty password.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: MySQL Linux Administration Question
 
Similar Threads
jdbc connection AGGRAVATION!! Can you help?
Java MySQL connection
strange problem when accessing MySQL
Basic instructions for setting up/running mySQL
mysql database restore