This week's book giveaway is in the OCAJP 8 forum.
We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line!
See this thread for details.
The moose likes JDBC and Relational Databases 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 OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
Bookmark "MySQL Linux Administration Question" Watch "MySQL Linux Administration Question" New topic

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 |
root | localhost
root | [myhostname]

My /etc/hosts file looks like localhost localhost [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.

Paul Campbell
Ranch Hand

Joined: Oct 06, 2007
Posts: 338
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.

Rob Spoor

Joined: Oct 27, 2005
Posts: 20132

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.

How To Ask Questions How To Answer Questions
I agree. Here's the link:
subject: MySQL Linux Administration Question
It's not a secret anymore!