遇到問題就 撰寫文章來記錄一下
上網查了修改SQL密碼的方法 run出一堆 code
但是打進cmd又無解
原來是Windows的老毛病 XD
(要先設定好 才能在Windows CMD使用...跟java一模一樣)
以下是 Windows10 操作方法,
win7以前的大同小異 但輸入的地方會有點不同!!
測試
首先打開CMD,輸入 mysql 送出
如果沒有設定過 會出現
'mysql' 不是內部或外部命令、可執行的程式或批次檔。
環境設定
在 「本機(我的電腦)」 按 [右鍵] → 按 [內容(R)]
跳出 「系統」視窗,左邊欄位 按[進階系統設定] → 按 [環境變數(N)...]
跳出 「環境變數」視窗。
視窗上面的 「XXX的使用者變數(U)」是針對目前使用者的環境設定
視窗下面的 「系統變數(S)」是整個系統設定 (※所有使用者的共同設定)
一般使用者的家用電腦都是用最高權限 所以設定上面下面都沒差。
但是要選擇同一邊設定(都選系統變數、或是都選使用者變數)
第一步、
按 [新增...]
跳出 「新增系統變數」視窗
────────────────────────
變數名稱(N): 輸入 MYSQL_HOME
變數值(V): 輸入 你MySQL安裝的路徑
────────────────────────
輸入完之後 按[確定]
安裝路徑如圖 因為我安裝的路徑在D槽的 mySQL資料夾內
(建議像我一樣直接複製路徑比較不會有問題)
第二步、
再來是 找 變數名稱「Path」的欄位
(下方視窗的系統變數(S)一定有,請仔細找一找。
如果是使用上方視窗使用者變數(U)。確定沒有找到就自己建立一個新的)
有找到 →按 [編輯...] →按[新增] →輸入 %MYSQL_HOME%\bin → 按 [確定]
下圖是win10的畫面,如果是win7以前的應該是會出現很長的變數值
請在整串文字最後面輸入「%MYSQL_HOME%\bin;」
(※多了;,方於日後新增加變數值使用)
沒找到 →按 [新增...] ─→─┐
↓
─────────────────────────
變數名稱(N): 輸入 path (大小寫無所謂)
變數值(V): 輸入 %MYSQL_HOME%\bin
─────────────────────────
→ 按 [確定]
※注意,如果明明已經存在「Path」欄位,
又直接新增一樣名稱的欄位會把原本已經存在欄位覆蓋。
並不會出現提醒,事後可能會出現其他軟體的系統錯誤,要小心
最後全部都按下確定,記得原本的cmd也關掉,重開一次cmd
再測試一次
打開CMD,輸入 mysql 送出
應該會正常出現了,你就可以使用cmd輸入 mysql語法了
確認好SQL在cmd的環境設定後,就可以開始修改SQL的使用者密碼了
直接在cmd輸入
mysqladmin -u用戶名 -p舊密碼 password 新密碼
(空格都要注意!!)
我的帳號:root 原本密碼:1234 輸入
mysqladmin -uroot -p1234 password 1111
像下方這樣的空格就不行
mysqladmin -u root -p 1234 password 1111
輸入正確之後,視窗會跳出提醒
Warning: Using a password on the command line interface can be insecure.
(翻譯「警告:在命令提示字元使用密碼可能不安全」)
密碼就修改完成了。
這是最快速修改密碼的方法
--------------------------
第二種方法
使用cmd登入mySQL的方式,先在cmd輸入
mysql -u 帳號 -p
我的帳號是 root 就輸入
mysql -uroot -p
會出現
Enter password:
輸入你原本的密碼(我的是1234)
Enter password:****
若是出現
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
(或是類似的畫面)表示密碼輸入錯誤
出現以下文字就表示正確
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 33
Server version: 5.6.42-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, 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.
此時cmd就已經登入mySQL了,
再輸入
set password for 帳號@localhost = password('新密碼');
我的例子是輸入 (我想修改成新的密碼 11111)
set password for root@localhost = password('11111');
出現以下就表示修改密碼成功
Query OK, 0 rows affected (0.00 sec)
記得最後再輸入
\q
離開mySQL(完整的步驟)
感覺上第二種比較安全?!