LAMP配置Mysql時root密碼丟失問題
在vps主機上mysql服務器root密碼丟失
有一個vps客戶,在配置LAMP的時候,修改了mysql服務器root密碼,過幾天忘了密碼。那么該如何找回來呢?下面我就詳細講講如何找回root密碼,分兩種情況,一種mysql數據庫資料不是很重要,可以刪除,另外一種適合 mysql服務器里面有重要的數據,不能初始化。LAMP配置Mysql時root密碼丟失問題。
環境: linux vps主機 centos5 操作系統 使用yum安裝的數據庫,當然此解決辦法同樣適合其他linux發行版本。
Mysql服務器root密碼丟失步驟:
1、mysql數據庫資料不是很重要,找回root密碼丟失方法
1.1關閉mysqld服務
- /etc/init.d/mysqld stop
1.2刪除/var/lib/mysql整個目錄
- rm -rf /var/lib/mysql
1.3重新啟動mysqld服務,mysql數據庫會重建,您的root 就沒有密碼了
- /etc/init.d/mysqld start
特別提醒:此方法僅適合您的數據庫并不重要的時候,如何數據庫很重要,那千萬不要隨便刪除,請使用第二種方法
2、mysql數據庫資料有很重要的資料,找回root密碼丟失方法
2.1關閉mysql服務
- /etc/init.d/mysqld stop
2.2使用–skip-grant-tables選項啟動MySQL服務,可以修改/etc/inin.d/mysqld腳本啟動位置增加此選項,
- vi /etc/init.d/mysqld
在運行啟動的語句里增加--skip-grant-tables
–skip-grant-tables的意思是啟動MySQL服務的時候跳過權限表認證。啟動后,連接到MySQL的root不需要口令
2.3重新啟動mysql服務
- /etc/init.d/mysqld stop
2.4使用空密碼的root用戶連接MySQL ,并且更改root密碼丟失口令
- mysql -uroot
- mysql>use mysql; < --使用mysql數據庫
- mysql>update user set passwordpassword=password('123') where user='root' and host='localhost'; < --更改密碼語句
- mysql>set passwordpassword=password('123'); < --使用此語句更改密碼會失敗,使用上面語句直接更新user表 password字段后更改密碼成功
2.5關閉mysql服務
- /etc/init.d/mysqld stop
2.6重新修改2.2步驟修改的/etc/init.d/mysqld,使其保持原來不變,也就是取消skip-grant-tables語句
2.7重新啟動mysql服務
- /etc/init.d/mysqld stop
經過上面7步驟,mysql服務器root密碼丟失的問題就迎刃而解。這么簡單,mysql服務器root密碼丟失的找回就不是問題了。
【編輯推薦】