问题
Today (2015-05-02) I upgraded my Linux system via apt-get update and
apt-get upgrade whereas mysql, mysqladmin and a lot more packages
have been updated. The mysql-server-5.5 runs and I can login and do all
the typical database operations but when I type:
user@ubuntu:~# mysqladmin proc
I get the following error:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Formerly I could solve this issue by simple setting the mysql root password new.
This does not solve the issue anymore:
user@ubuntu:~# sudo dpkg-reconfigure mysql-server-5.5
How do I get the mysqladmin up again without reinstalling mysql?
回答1:
Short version: If your MySQL user root
needs a password to connect, it might be a good idea to have mysqladmin
provide that password ;)
Longer version: Your MySQL user root
seems to need a password to connect
setting the mysql root password new
But mysqladmin
tries to connect without a password
'Access denied for user 'root'@'localhost' (using password: NO)'
And mysqladmin
does that because you're not telling it otherwise ;)
mysqladmin
, like other MySQL-related command line tools (mysql
, mysqldump
, mysqlshow
etc.), offers options to provide such access data.
h
: Which host to connect to. If not provided,localhost
is assumedu
: Which user to connect as. If not provided,root
is assumedp
: Which password to use. If not provided, no password is used
You should be able to use something like
mysqladmin -uroot -pmysupersecretpassword proc
(be aware that there's no space between the options and their values). You can also have MySQL ask you for the password like
mysqladmin -uroot -p proc
With that, MySQL should give you a prompt where you can enter your password.
来源:https://stackoverflow.com/questions/30004588/mysqladmin-connect-to-server-at-localhost-failed