MariaDB 安装后不需要密码就可以登录 root 账户,随便输入密码也可以登录,使用各种方法修改密码或者设置密码之后仍然不需要密码就能登录,怎么回事呢?
查看 plugin
MariaDB [(none)]> select user, plugin from mysql.user; +------+-------------+ | user | plugin | +------+-------------+ | root | unix_socket | +------+-------------+ 1 row in set (0.00 sec)
是 plugin unix_socket 导致无需密码,修改即可。
MariaDB root 账户默认使用了 UNIX_SOCKET 插件,只允许 root 用户连接,无需密码。可以使用 root 用户连接后创建新用户或者执行:
update mysql.user set plugin = '' where User='root'; flush privileges; // or update mysql.user set plugin = 'mysql_native_password' where User='root'; flush privileges;
问题解决。