根用户和 mysql:“sudo mysql”与“/root/.my.cnf”

根用户和 mysql:“sudo mysql”与“/root/.my.cnf”

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

[client]
password = "my password"

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

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 mysql以 mysql root 用户身份登录,而无需输入密码?

答案1

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

答案2

如果您被锁定,并且您可以以 sudo 身份输入的唯一命令是 mysqldump(非交互式),您可能希望通过 --defaults-file 参数添加 .my.cnf 选项。

答案3

该命令sudo su -c "mysql"将产生预期的效果。

相关内容