长时间没登过或管过MySQL的话忘记密码是很常见的情况。
MySQL 无法找回明文密码,因密码以单向哈希存储于mysql.user表,无记录可查;唯一可行方案是重置密码。
当然,你也可以先查看配置文件,万一你记录了密码呢。
配置文件位置:/etc/my.cnf
配置文件中[client]段若有password字段才可能含明文密码,当然这种不安全的配置做法不是官方推荐做法
唯一解决路径:通过跳过权限验证(skip_grant_tables)或读取初始化临时密码(仅限新装未改过)来重置密码,而非“找回”。
操作步骤:
一、查看MySQL服务状态
1、查看服务状态
systemctl status mysql
目录
操作步骤:
一、查看MySQL服务状态
1、查看服务状态
或者
service mysql status
这里发现没有这服务,
2、查看端口占用情况
netstat -tulnp | grep 3306
发现是有占用的,所以应该就是服务名不对,
3、查看服务名
systemctl list-units --type=service | grep mysql
4、重新查看MySQL服务状态
二、停止MySQL服务:
1、停止MySQL服务
systemctl stop mysqld
2、查看MySQL服务状态
三、以跳过权限验证的安全模式启动 MySQL 服务
mysqld_safe --skip-grant-tables &
系统提示找不到mysqld_safe,可尝试直接使用mysqld --skip-grant-tables &
mysqld --skip-grant-tables &
四、无密码登录到MySQL
mysql -u root
五、重置root密码
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
退出
EXIT;