root用户和mysql:`sudo mysql` vs`/ root / .my.cnf`

我有一个存放mysql root用户密码的/root/.my.cnf文件:

 [client] password = "my password" 

当我以系统根目录login并inputmysql时,我得到一个无密码login:

 myuser@local:$ sudo su root@local:$ mysql mysql> 

但是,当我试图做同样的使用sudo,我得到拒绝访问:

 myuser@local:$ sudo mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 

我怎么能得到sudo mysqllogin作为mysql root用户,而不input密码?

sudo -i mysql也应该工作 – 这应该在新的交互式shell下运行mysql。

命令sudo su -c "mysql"将会产生所需的效果。

如果你被locking了,你可以input的唯一命令是sudo mysqldump(非交互式),你可能正在寻找通过–defaults-file参数添加.my.cnf选项。