close

環境:CentOS6   套件:Mysqldb / Mariadb

 


原因:

平常在練習LAB的時候會使用到Mariadb系列的資料庫,

而也只是使用到而已,當有問題時才會去看資料庫內有甚麼問題。

但這次忘了密碼。

 

 


處理方式:

Mysqldb & Mariadb忘記密碼的處理方式都一樣。

進入到一個類似災難復原模式的狀況下去重置密碼就可以了。

這邊用mysqld來進行教學,先來看看錯誤訊息:

使用mysql指令登入資料庫

#mysql –u root –p

在輸入錯密碼的狀況下,會得到下面的錯誤訊息。

ERROR 1045 (28000):

Access denied for user ‘root’@'localhost’ (using password: YES)

既然密碼確定是錯誤不能使用,

我們來看一下要怎麼處理密碼的問題。


Step1. 關閉資料庫服務

# service mysqld stop

 


Step2. 用安全模式啟動資料庫服務

#mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

 


Step3. 再次登入資料庫

(這次會發現不用密碼,就可以直接登入資料庫)

#mysql -u root -p

 


Step4. 開始使用sql指令

(針對資料庫內的root,更新密碼)

>use mysql;

>UPDATE user SET password=PASSWORD(“新密碼″)WHERE user=”root”;

回應:  Query OK, 3 rows affected (… sec) Rows matched: 3 Changed: 3 Warnings: 0

 

Step4e. 順便提供授權連線指令

> GRANT all ON *.* TO root@'localhost' IDENTIFIED BY '密碼;

 


Step5. 設定完資料庫後要記得flush權限

> FLUSH  PRIVILEGES;

> Quit

 


Step6. 重新啟動資料庫服務

# service mysqld stop

# service mysqld start

 


Step7. 可以開始使用你輸入的新密碼登入資料庫

#mysql -u root -p

l> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| test               |

+--------------------+

10 rows in set (0.00 sec)

 

<本篇完>

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(0) 人氣()