国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL的root密碼忘記怎么辦 修改root密碼的方式

2024-07-24 12:44:57
字體:
來源:轉載
供稿:網友

如果哪天你忘記了線上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進程重新加載配置文件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 紫阳县| 胶南市| 武强县| 收藏| 繁昌县| 德清县| 定远县| 东乡县| 嘉黎县| 临汾市| 塔城市| 佳木斯市| 前郭尔| 皮山县| 通海县| 博湖县| 宜州市| 成武县| 夏邑县| 洪湖市| 平邑县| 罗源县| 游戏| 鱼台县| 富锦市| 黄平县| 沙田区| 汾阳市| 阿城市| 大洼县| 招远市| 白山市| 永泰县| 东港市| 宁波市| 出国| 兰西县| 宁都县| 来宾市| 眉山市| 读书|