root用户无法su - mysql

在安装mysql过程中,系统自建了mysql用户或Mysql组,但是root无法su到mysql下,报错:This account is currently not available.

或者在使用Linux系统连接mysql过程中,有时候会遇到密码正确,但却无法登录mysql的情况。

这种情况往往是由于Linux系统本身限制了mysql用户的登录权限。在Linux系统中,所有用户的登录权限都是受到系统配置文件的限制的。如果mysql用户没有被允许登录,则无论密码是否正确都无法进入mysql。

#打开/etc/passwd文件,找到mysql用户,查看用户的登录shell
cat /etc/passwd | grep mysql
#结果如下,表明mysql用户的登录shell为/sbin/nologin
mysql:x:60:60:MySQL Server:/var/lib/mysql:/sbin/nologin 
#修改mysql用户的登录shell为/bin/bash
usermod -s /bin/bash mysql

修改登录shell为/bin/bash后,mysql用户就能够登录mysql了。

综上所述,当我们遇到无法登录mysql的情况时,需要检查mysql用户的登录权限,并确保mysql用户被允许登录。修改mysql用户的登录shell为/bin/bash可以解决这个问题。

你可能感兴趣的:(mysql,数据库)