第一种方式:

找到数据库的配置文件my.cnf,

vim /etc/my.cnf 

#其实在生产环境中加第二条,如果是测试环境不用加第二条,第二条是防止数据库在无需密 码和用户的情况下黑客也能连进去

skip-grant-tables
skip-networking

重启mysqld

systemctl restart mysqld

然后修改密码

1)修改密码第一种方式

flush privileges; #刷新一下

alter  mysql.user root@'localhost' identified by 'new_password';  

2)修改密码第二种方法

8.0+版本

#可以看一下select user,host,plugin,authentication_string from mysql.user;

#如果root的plugin(加密工具)是caching_sha2_password或者sha256_password

SELECT CONCAT('*', UPPER(SHA2('new_password', 256))) AS hashed_password;

#生成加密的密码哈希值

update mysql.user set authentication_string=' new_password' where user='root'  and  host='localhost';

#注意authentication_string 字段必须存储加密后的密码哈希值,不能直接写入明文密码

flush privileges; #刷新一下

5.7及以下版本

UPDATE mysql.user SET password = PASSWORD('123456')  WHERE user = 'root' AND host = 'localhost';

flush privileges; #刷新一下

然后回到配置文件把刚刚那两条命令删除重启

systemctl restart mysqld

第二种方式(适用于测试环境,部分版本mysql)

清空mysql的所有初始化的数据,然后重启就回到了初始安装状态。

systemctl stop mysqld

rm -rf /var/lib/mysql/*

systemctl restart mysqld

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐