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