修改密碼:
1.例如你的 root用戶現在沒有密碼,你希望的密碼修改為123456,那么命令是:
mysqladmin -u root password 123456
2.如果你的root現在有密碼了(123456),那么修改密碼為abcdef的命令是:
mysqladmin -u root -p password abcdef?
注意,命令回車后會問你舊密碼,輸入舊密碼123456之后命令完成,密碼修改成功。
3.如果你的root現在有密碼了(123456),那么修改密碼為abcdef的命令是:
mysqladmin -u root -p123456 password abcdef (注意-p 不要和后面的密碼分
開寫,要寫在一起,不然會出錯,錯誤如下所示)
4.使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數。
忘記密碼:
下面我們提供了6種不同的修改mysql root用戶的密碼,與增加mysql用戶的方法。
方法一?
使用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。?
在《mysql中文參考手冊》里有這個例子,所以我也就寫出來了。?
注意要使用PASSWORD函數,然后還要使用FLUSH PRIVILEGES。?
方法四?
和方法三一樣,只是使用了REPLACE語句?
mysql> REPLACE INTO mysql.user (Host,User,Password)?
VALUES('%','jeffrey',PASSWORD('biscuit'));?
mysql> FLUSH PRIVILEGES?
方法五?
使用SET PASSWORD語句,?
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');?
擬也必須使用PASSWORD()函數,?
但是不需要使用FLUSH PRIVILEGES。?
方法六?
使用GRANT ... IDENTIFIED BY語句?
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';?
這里PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES。?
注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。
MySQL 忘記口令的解決辦法
如果 MySQL 正在運行,首先殺之: killall -TERM mysqld。?
啟動 MySQL :bin/safe_mysqld --skip-grant-tables &?
就可以不需要密碼就進入 MySQL 了。?
然后就是?
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新殺 MySQL ,用正常方法啟動 MySQL 。