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後可以不用輸入密碼直接連入

# mysql -u root

接者使用修改使用者密碼的方法二修改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
文章標籤
創作者介紹

小殘的程式光廊

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