使用mysqladmin命令修改MySQL密碼與忘記密碼
[日期:2014-01-23] |
來源:Linux社區(qū)
作者:chenshengang |
[字體:大 中 小]
|
修改密碼: 1.例如你的 root用戶現(xiàn)在沒有密碼,你希望的密碼修改為123456,那么命令是: mysqladmin -u root password 123456 2.如果你的root現(xiàn)在有密碼了(123456),那么修改密碼為abcdef的命令是: mysqladmin -u root -p password abcdef 注意,命令回車后會問你舊密碼,輸入舊密碼123456之后命令完成,密碼修改成功。 3.如果你的root現(xiàn)在有密碼了(123456),那么修改密碼為abcdef的命令是: mysqladmin -u root -p123456 password abcdef (注意-p 不要和后面的密碼分 開寫,要寫在一起,不然會出錯,錯誤如下所示) 4.使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數(shù)。
忘記密碼: 下面我們提供了6種不同的修改mysql root用戶的密碼,與增加mysql用戶的方法。 方法一 使用phpmyadmin,這是最簡單的了,修改mysql庫的user表, 不過別忘了使用PASSWORD函數(shù)。 方法二 使用mysqladmin,這是前面聲明的一個特例。 mysqladmin -u root -p password mypasswd 輸入這個命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。 把命令里的root改為你的用戶名,你就可以改你自己的密碼了。 當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執(zhí)行mysqladmin, 那么這種方法就是無效的。 而且mysqladmin無法把密碼清空。 下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限: 方法三 mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('%','jeffrey',PASSWORD('biscuit')); mysql> FLUSH PRIVILEGES 確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。 在《mysql中文參考手冊》里有這個例子,所以我也就寫出來了。 注意要使用PASSWORD函數(shù),然后還要使用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()函數(shù), 但是不需要使用FLUSH PRIVILEGES。 方法六 使用GRANT ... IDENTIFIED BY語句 mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit'; 這里PASSWORD()函數(shù)是不必要的,也不需要使用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 。
|