記得原密碼
- root用戶修改自己的密碼
- 使用mysqladmin命令來修改root密碼
mysqladmin -u username -p password'new_password'
mysqladmin -u root -p password '123456'
- 使用set語句來修改root密碼
set PASSWORD = PASSWORD('new_password')
新密碼都必須使用PASSWORD函數(shù)加密
SET PASSWORD FOR 'hpx'@'%' = PASSWORD('123')
- root用戶修改普通用戶的密碼
- 用set語句
set PASSWORD FOR 'username'@'hostname'=PASSWORD('new_password')
username是用戶名,hostname是普通用戶主機名
SET PASSWORD FOR 'hpx'@'%' = PASSWORD('123')
- 用grant語句
GRANT priv_type ON database.table TO user[IDENTIFIED BY [PASSWORD] 'new_password']
GRANT usage on *.* to 'hpx'@'%' IDENTIFIED BY '123456'
- 普通用戶修改密碼
set password=password('new_password')
root密碼丟失解決辦法
- 使用--skip-grant-tables選項啟動MySQL服務
skip-grant-tables將使服務器停止權限判斷,任何用戶都有訪問數(shù)據(jù)庫的權利。在Linux操作系統(tǒng)中,使用mysqled_safe來啟動MySQL服務。
mysqld_safe --skip-grant-tables user=mysql
使用/etc/init.d/mysql執(zhí)行語句如下:
/etc/init.d/mysql start --mysqld --skip-grant-tables
- 登錄root用戶,設置新密碼
登陸以后,要用update語句來修改密碼。
>UPDATE mysql.user SET Password=PASSWORD('passwd') WHERE User='root' AND Host='localhost';
此處必須使用update語句,不能使用set語句。
- 加載權限表
修改完密碼后,必須加載權限表后新密碼開始有效,MySQL服務器開始權限驗證。
>FLUSH PRIVILEGES