MySQL忘记登录密码的情况下如何修改密码

前段时间在服务器上安装MySQL,但是安装过程中并没有像教程里说的会跳出提示设置密码的文段。它自己就安装好了。安装完成后用mysql -uroot -p登录,输了很多次密码也没登录成功,于是在网上查了很多提问,我在这里归纳一下两种可行的方法:

一、修改mysql服务器的配置文件,跳过登录验证

  1. 首先找到mysql的配置文件,我电脑上的路径是/etc/mysql/my.cnf,然后在[mysqld]的部分添加一行信息skip-grant-tables(没有[mysqld]这个部分的话可以自己加上去,[mysqld]是服务器启动加载的配置部分):

    [mysqld]
    port=3306
    datadir=/mysqldata01/data
    pid-file=/mysqldata01/mysql57.pid
    socket=/mysqldata01/mysql57.sock
    log-error=/mysqldata01/mysql57-err.log
    user=mysql
    skip-grant-tables		# 添加的信息
    
  2. 保存成功后就可以直接用mysql -uroot -p无密码登录了,登录后修改密码的方法跟正常密码登录想修改密码的方法一样:

    use mysql;
    update user set authentication_string=PASSWORD("yourpassword") where user='root';
    flush privileges;
    

    进入mysql数据库然后修改user数据表的authentication_string字段,5.7版本的MySQL没有了password字段,所以网上有些方法写的是更改password字段,这个是以前版本的,可以提前用desc user看看你当前版本的MySQL是password还是authentication_string

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章