mariadb10.4.17修改密码的坑

一、背景

之前在测试环境上安装了一个mariadb数据库用于测试,今天安全告知说存在弱口令,于是就登录服务器进行修改密码,当时我使用update mysql.user set authentication_string=password('新密码') where user='用户名' 的方式修改,结果报错了。说user不是一个表,是一个视图,这就把我搞懵了,user什么时候

变成了试图?于是查询了下说maradb从10.4+以上版本发生了很大变化,所有用户帐户,密码和全局特权都存储在mysql.global_priv表中。该mysql.user表仍然存在,并且具有与以前完全相同的列集,但是现在它是一个引用该mysql.global_priv表的视图。

二、解决

1、通过mysqladmin命令修改

mysqladmin -h 192.168.70.18 -u root -p password 新密码;  
mysqladmin -u root -p password 新密码;

2、通过set方式修改

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

 

posted @ 2021-12-08 17:03  凉生墨客  阅读(323)  评论(0编辑  收藏  举报