方法一:
(適用於管理員或者有全局權限的用戶重設其它用戶的密碼)
進入命令行模式
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='name';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
方法二:
(應用同上,只是方法不同)
mysql -u root mysql
mysql> SET PASSWORD FOR name=PASSWORD('new password');
mysql> QUIT
(以上兩種方法我不常用,如果是管理員,我會用其它如phpmyadmin或者MYSQL-front 等工具來管理用戶權限,比較直觀又方便)
方法三
使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數。
方法四
使用mysqladmin,這是前面聲明的一個特例。
mysqladmin -u root -p password mypasswd
輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。
把命令裡的root改為你的用戶名,你就可以改你自己的密碼了。
當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執行mysqladmin,
那麼這種方法就是無效的。
而且mysqladmin無法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root權限:
方法五
mysql> INSERT INTO mysql.user (Host,User,Password) VALUES(’%’,’jeffrey’,PASSWORD(’biscuit’));
mysql> FLUSH PRIVILEGES
確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。
注意要使用PASSWORD函數,然後還要使用FLUSH PRIVILEGES。
方法六
和方法三一樣,只是使用了REPLACE語句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES(%,jeffrey,PASSWORD(iscuit));
mysql> FLUSH PRIVILEGES
方法七
使用SET PASSWORD語句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD(iscuit);
你也必須使用PASSWORD()函數,
但是不需要使用FLUSH PRIVILEGES。
方法八
使用GRANT ... IDENTIFIED BY語句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY iscuit;
這裡PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES。
方法有很多但最終於就是那種句命令在這裡執行了。