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

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