如何強制修改mysql的root密碼(mysql忘記密碼)
來源:互聯網
上載者:User
下面我們提供了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 。