mysql密码忘记了怎么重新设置密码

发布时间: 2023-11-21 11:09 阅读: 文章来源:1MUMB1098PS

Mysql8忘记密码/重置密码

UBUNTU下Mysql8忘记密码/重置密码步骤如下:

先说下大概步骤:修改配置文件,使得用空密码可以进入mysql。然后置当前root用户为空密码。再次修改配置文件,不能使用空密码。然后再次进入mysql,修改成你需要的密码。

下面是详细步骤:

一、修改配置文件: /etc/my.cnf ,有些人说在这个my.cnf文件;我的在 /etc/mysql/mysql.conf.d这个文件夹下。

你输入: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf回车。

这下面的这一节添加 skip-grant-tables 表示免密码登录。

[mysqld]

#

# * Basic Settings

#

user = mysql

# pid-file = /var/run/mysqld/mysqld.pid

# socket = /var/run/mysqld/mysqld.sock

# port = 3306

# datadir = /var/lib/mysql

skip-grant-tables

保存退出。

输入:sudo service mysql restart

重启mysqlf服务。

二、接下来将密码置空

输入:mysql -u root -p

#提示输入密码时直接敲回车。

输入:use mysql;

选择数据库mysql;

输入:update user set authentication_string = ‘‘ where user = ‘root‘;

#将密码置空

输入:flush privileges;

# 刷新

输入exit;

退出

sudo service mysql restart

重启mysqlf服务。

三、去掉刚刚添加 skip-grant-tables 这行,设必须有密码登录

输入: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf回车。

去掉刚刚添加 skip-grant-tables 这行,保存,退出。

输入:sudo mysql -u root -p

#提示输入密码时直接敲回车,刚刚已经将密码置空了。

输入ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘;

#修改成新密码,这一步可能会提示你密码复杂度不够。默认是8位,包含特殊字符,字母,一个数字。(注意:如果要修改密码复杂度,可以参考https://blog.51cto.com/u_16213395/7328732 这个链接。

我修改成这样

输入:ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘W@hongq1‘; 回车,通过。

输入:flush privileges;

//刷新生效

最好再次重启mysql服务

sudo service mysql restart 回车

接下来你就用sudo mysqld -uroot -p回车,输入正确的密码就可以了。

【全文完】

•••展开全文