CentOS7下忘记MySQL数据库root密码与密码过期

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介: CentOS7下忘记MySQL数据库root密码与密码过期
  • 以root用户登录linux,修改/etc/my.cnf
vim /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables

[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 


20171019161256409.png


  • 退出保存,重新启动mysqld
service mysqld start
systemctl start mysqld


  • 登录并修改MySQL的root密码

命令如下:

//进入 mysq lbin路径
[root@iZ8vb3n2dl2w360w65xtf3Z bin]# pwd
/usr/local/mysql/bin
[root@iZ8vb3n2dl2w360w65xtf3Z bin]# ./mysql -uroot -p
Enter password:
//直接回车
use mysql;


修改密码

update user set password = password('new-password') where user = 'root' ; 
or
update user set authentication_string= password('new-password') where user = 'root' ; 


  • 刷新权限
flush privileges ;
  • 还原/etc/my.cnf
  • 重启mysql服务

其中在重新登录mysql时,你可能遇到如下问题:


问题一:

ERROR 2002 (HY000): Can’t connect to local MySQL server 
through socket ‘/var/lib/mysql/mysql.sock’ (2)

然后去找这个文件,发现/var/lib/mysql/路径下没有mysql.sock文件。而该文件存在于/tmp/mysql.sock !

解决方法:

① 修改my.cnf

[mysqld]
socket = /tmp/mysql.sock

② 软链

ln -s /tmp/mysql.sock  /var/lib/mysql/mysql.sock

问题二:

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

使用如下方式修改密码:

update user set authentication_string= password('new-password') where user = 'root' ; 

问题三:

ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client 
that supports expired passwords.

解决过程如下:

① 修改my.cnf,将skip-grant-tables放开,重启服务,登录mysql;


查看用户root信息:

select * from user where user = 'root'\G;


20171222175023452.png


② 使用如下命令修改password_expired

use mysql;
update user set password_expired='N' where user='root';
flush privileges;



20171222175111859.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
9月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2181 16
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
3257 26
|
Ubuntu 关系型数据库 MySQL
mysql8.0安装初始化不需要设定root密码?
uubntu 的mysql安装完成后无法设定root密码
632 10
|
安全 Linux 网络安全
CentOS9忘记root账号密码
通过以上步骤,你可以成功重置CentOS 9系统中的root密码。如果在操作过程中遇到问题,建议查阅相关文档或联系系统管理员进行进一步排查和处理。
1181 9
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
1478 16
|
存储 Linux 数据安全/隐私保护
【CentOS 7】深入指南:使用LVM和扩展文件系统增加root分区存储容量
通过上述步骤,您可以在 CentOS 7 系统中使用 LVM 和扩展文件系统来增加 root 分区的存储容量。这种方法不仅灵活,还能在不中断系统运行的情况下扩展存储空间,非常适合生产环境。请确保在操作前备份重要数据,并仔细执行每一步骤,以确保系统稳定和数据安全。
1419 6
|
存储 关系型数据库 MySQL
【赵渝强老师】解决MySQL丢失root用户密码
本文介绍了MySQL数据库中用户密码存储的变化,以及如何通过特殊方法重置root用户的密码。从MySQL 5.7版本开始,密码字段由“password”改为“authentication_string”。文章详细列出了重置密码的步骤,并提供了相关代码示例和视频教程。
532 0
|
10月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1560 69
|
9月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
3824 3
|
10月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
872 78