「MariaDB」- 解决无密码就可以登录的问题

解决无密码就可以登录的问题

解决 MariaDB 无密码就可以登录的问题
Mysql (MariaDB 10.0.29): Set root password, but still can login without asking password?

MariaDB 在安装结束之后,在命令行输入 mysql -uroot 可以直接登录到数据库中,无需输入密码。这是因为 MariaDB 中 root 账户的 plugin 设置导致的,mysql.user 表中 root 帐号的 plugin 字段默认的值为 unix_socket,无需密码就可以登录。

如果你先指用密码进行认证,需要执行下面的 SQL 语句:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
UPDATE mysql.user SET plugin = '' WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;

MariaDB

CREATE USER – MariaDB Knowledge Base

-- 创建用户
CREATE USER foo2@test IDENTIFIED BY 'password';

-- 如果用户不存在,则进行创建用户
CREATE USER IF NOT EXISTS foo2@test IDENTIFIED BY 'password';

-- 创建用户,如果用户存在,先删除用户
CREATE OR REPLACE USER foo2@test IDENTIFIED BY 'password';

-- 与上一条语句等价
DROP USER IF EXISTS foo2@test;
CREATE USER foo2@test IDENTIFIED BY 'password';