假設您可以從某台主機與 MySQL 伺服機連線。 假設 MySQL 伺服機的名字是 dbhost,您的 MySQL 帳號名是 name, 您原有的通行碼是 origpass,現在您想要將通行碼換成 newpass。
首先我們要說明兩件事。
您必須在 MySQL 之外,才能換通行碼。在 UNIX 文字介面中,下指令
mysqladmin -h dbhost -u name --password=origpass password newpass這個指令,將您的新、舊通行碼都明白回應在終端機螢幕上, 這是個很沒道理的設計。但是,目前也只有如此。 所以,請讀者注意以下三件事:
現在,您可以試著用新通行碼簽入 MySQL。 如果不成功,用舊通行碼再試一遍。 如果用舊通行碼可以進去,代表前面的 mysqadmin 指令出了錯,沒有換成功。 如果新、舊通行碼都進不去 (這種事有時會發生), 您可以等一兩個小時之後再來試試看,否則就要請 MySQL 管理者來幫忙了。
如果已經忘記原來的通行碼,那就不能用上述方法更改通行碼。 這時候需要請 MySQL 的管理者幫忙, 也就是任何一位擁有 MySQL DBMS 之 root 帳戶的人。 這人通常是 MySQL 主機的系統管理者,但是並不一定。 為了方便,我們紀錄 root 直接修改某用戶 foo 的步驟。
update mysql.user set password=PASSWORD("new_passwd") where user='foo'; flush privileges;
習題