MySQL數據庫忘記root密碼解決

MySQL數據庫忘記root密碼解決:

  • 進入配置文件/etc/my.cnf
  • 在[mysqld]下加入一條語句:skip-grant-tables
  • [mysqld] 
    datadir=/var/lib/mysql 
    socket=/var/lib/mysql/mysql.sock 
    skip-grant-tables 

     

  • 重新啓動mysqld:service mysqld restart
  • 無密碼登錄MySQL數據庫:mysql -uroot -p
  • 進入數據庫後操作:

    # 使用mysql庫
    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    Database changed
    # 一定要查看清楚user表的用戶密碼字段名
    mysql> select * from user limit 1\G;
    ******************* 1. row *********************
    Host: localhost
    User: root
    Select_priv: Y
    ...(此處省略)
    plugin: mysql_native_password
    auther_string: *81F5E21E35407D884A6CD4A731AEBFB7AF209E1B
    # 這串字符就是加密後的密碼,選取其字段名
    password_expired: N
    password_last_changed: 2018-05-31 15:12:34
    password_lifetime: NULL
    account_locked: N
    1 row in set (0.00 sec)

  • 修改密碼:

    mysql> update user set auther_string=PASSWORD('123') where User='root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 2 Changed: 1 Warnings: 1

  • 修改成功後退出數據庫,將配置文件中的無密碼登錄註釋掉
  • 重啓mysqld: [root@BDKVM01 ~]# systemctl restart mysqld
  • 驗證:[root@BDKVM01 ~]# mysql -uroot -p123

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