|
How to change / reset MySQL password.
說明MySQL如何修改密碼與忘記密碼時如何重設密碼。
設定root密碼
一開始安裝好mysql時,root可能尚未設定密碼,可以用以下指令設定
- # mysqladmin -u root password '你的密碼'
複製代碼
或者
- # mysqladmin -u root password
複製代碼
再輸入密碼
修改使用者密碼
方法一
使用有權限或要修改的使用者本身登入mysql
- # mysql -u 登入使用者 -p
- mysql> SET PASSWORD FOR '目標使用者'@'主機' = PASSWORD('密碼');
- mysql> flush privileges;
複製代碼
例如
- # mysql -u root -p
- mysql> SET PASSWORD FOR 'emn178'@'localhost' = PASSWORD('password');
- mysql> flush privileges;
複製代碼
方法二
使用有權限的使用者登入mysql
- # mysql -u 登入使用者 -p
- mysql> use mysql;
- mysql> UPDATE user SET Password=PASSWORD("密碼") WHERE User='目標使用者';
- mysql> flush privileges;
複製代碼
例如
- # mysql -u root -p
- mysql> use mysql;
- mysql> UPDATE user SET Password=PASSWORD("password") WHERE User='emn178';
- mysql> flush privileges;
複製代碼
上面是不分主機位址的修改,若要像方法一區分主機的話再加上Host條件,例如
- mysql> UPDATE user SET Password=PASSWORD("password") WHERE User='emn178' AND Host = 'localhost';
複製代碼
方法三
同樣利用mysqladmin指令可以修改root或其他使用者密碼,但該使用者必須有SUPER權限
- # mysqladmin -u 使用者 -p'舊密碼' password '新密碼'
複製代碼
或者
- # mysqladmin -u 使用者 -p password
複製代碼
再輸入密碼
忘記密碼重設
如果忘記root密碼可以用以下方式重設
- # /etc/init.d/mysql stop
- # mysqld_safe --skip-grant-tables &
複製代碼
用上面方式啟動mysql後可以不用輸入密碼直接連入
接者使用修改使用者密碼的方法二修改root密碼,例如
- mysql> use mysql;
- mysql> UPDATE user SET Password=PASSWORD("password") WHERE User='root';
- mysql> flush privileges;
- mysql> quit
複製代碼
最後重新啟動mysql
- # /etc/init.d/mysql stop
- # /etc/init.d/mysql start
複製代碼 |
|