程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL的root暗碼忘卻怎樣辦 修正root暗碼的方法

MySQL的root暗碼忘卻怎樣辦 修正root暗碼的方法

編輯:MySQL綜合教程

MySQL的root暗碼忘卻怎樣辦 修正root暗碼的方法。本站提示廣大學習愛好者:(MySQL的root暗碼忘卻怎樣辦 修正root暗碼的方法)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL的root暗碼忘卻怎樣辦 修正root暗碼的方法正文


假如哪天你忘卻了線上MySQL數據庫的root暗碼,怎樣辦?

年夜家常常會想到skip-grant-tables參數,詳細步調以下:

1. 封閉MySQL數據庫,由於root暗碼忘卻了,mysqladmin沒法應用,此時,只能經由過程kill pid封閉法式。

在這裡,科普一下kill 和kill -9的差別

默許參數下,kill 發送SIGTERM旌旗燈號給過程,告知過程,你須要被封閉,請自行停滯運轉並加入。
kill -9 發送SIGKILL旌旗燈號給過程,告知過程,你被終結了,請連忙加入。與SIGTERM比擬,這個旌旗燈號不克不及被捕捉或疏忽,同時吸收這個旌旗燈號的過程在收到這個旌旗燈號時不克不及履行任何清算
所以,萬不得已,不要經由過程kill -9殺失落過程,這能夠招致MySQL數據庫的物理構造破壞,沒法從新啟動。

2. 在my.cnf文件[mysqld]部門添加skip-grant-tables參數

3. 登錄數據庫,修正root賬戶的暗碼

以下是修正root暗碼的三種方法:

    1> mysql> set password for 'root'@'localhost'=password('123'); 無需刷新權限表

    2> mysql> update mysql.user set password=password("456") where user="root" and host="localhost";

         mysql> flush privileges;

    3> # mysqladmin -u root password "123"

4. 封閉數據庫,正文失落skip-grant-tables參數,從新啟動數據庫。

 下面這類方法固然不錯,然則有個成績,你必需重啟數據庫,關於線上情況,這能夠是不被許可的。

上面來談談另外一種辦法,有點“陰郁科技”的滋味

這個辦法應用的是mysql.user表照樣MyISAM引擎的特征。

1. 將該實例的mysql.user表copy到另外一個實例的目次下,比方,test數據庫的目次下

2. 登錄另外一個實例數據庫,修正上述三個文件的權限,並修正root暗碼

mysql> select user,host,password from test.user;
+------+-----------+-------------------------------------------+
| user | host | password     |
+------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)

mysql> update test.user set password=password("hello") where user="root" and host="localhost";
Query OK, 1 row affected (0.15 sec)
Rows matched: 1 Changed: 1 Warnings: 0

3. 將上述三個文件copy回源數據庫

4. 獲得mysqld的pid,經由過程kill -HUP `pidof mysqld`方法讓mysqld過程從新加載設置裝備擺設文件

[root@keepalived01 ~]# mysql -phello
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@keepalived01 ~]# kill -HUP 4283
[root@keepalived01 ~]# mysql -phello
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2528
Server version: 5.6.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

經由過程上述輸入可以看出,kill -HUP之前,直接用暗碼hello登錄被謝絕,kill -HUP以後,便可以直接登錄了。

固然,以上辦法僅供參考,在臨盆上慎用,究竟平安壓服一切,天知道哪裡會湧現成績。

以上就是本文的全體內容,願望可以贊助年夜家處理root暗碼忘卻的困擾,感謝年夜家的浏覽。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved