如果MYSQL不是正常通过apt install mysql 安装的,或者是xammp之类集成的数据库,这时候mysql密码忘记了,可以按照如下操作:

1、查看并修改/etc/my.cnf文件,将mysql.sock指向正确的mysql路径。(标红处)

[client]
port=3306
socket=/opt/lampp/var/mysql/mysql.sock
#socket=/var/lib/mysql/mysql.sock
default-character-set=latin1

[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/opt/lampp/var/mysql
socket=/opt/lampp/var/mysql/mysql.sock
user=mysql
set-variable = max_connections=10000
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

default-storage-engine=InnoDB
character-set-server=latin1

skip-grant-tables

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2、重启环境通过如下命令登录mysql,提示输入密码时直接回车。

mysqld_safe --skip-grant-tables & mysql -p

3、创建用户或更改密码,注意先刷新权限,直接更新密码会报错

flush privileges;
grant all privileges on *.*  to  'root'@'%'  identified by '123456'  with grant option;