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');
作者:凉生墨客
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。