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

use*_*641 3 mysql root users sudo

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

[client]
password = "my password"
Run Code Online (Sandbox Code Playgroud)

当我以系统 root 身份登录并进入 mysql 时,我获得了无密码登录:

myuser@local:$ sudo su
root@local:$ mysql
mysql>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试仅使用 sudo 执行相同操作时,访问被拒绝:

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

如何sudo mysql在不输入密码的情况下以 mysql root 用户身份登录?

小智 9

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