環境: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)
<本篇完>
留言列表