linux MariaDB-10.4(mysql)无密码登录问题解决

刚刚启用MariaDB时,默认root账号无密码就可以登录,需要设置密码。然而尝试一大圈修改密码的方法后,依旧可以无密码登录

一、碰过的壁,其中的三个

1.mysqladmin -u root password root无效

2.用mysql_secure_installation初始化密码也无效,太长没图
3.在mysql中用update user报错

查了又一大圈后才得知,原因是MariaDB-10.4版本开始,mysql.user不再是一张表而是一个视图,但同时也提供了一个新表mysql.global_priv来替代mysql.user,这就提供了解决问题的思路

二、解决方法

在mysql里输入以下命令,查看mysql.global_priv

use mysql;
select * from global_priv;

红框圈出来的是root的模式,因为我之前改过了显示"mysql_native_password",没改之前显示"unix_socket",也就是默认情况下,root用户通过"unix_socket"身份验证插件进行身份验证。需要将此模式改为"mysql_native_password"

输入代码:

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
ALTER USER `root`@`localhost` IDENTIFIED BY 'root';

成功将root用户密码改为"root",之后登陆的时候就需要密码啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值