无法为您重置MySQL密码_无法重置MySQL的root密码
問題描述
我需要重置本地mysql安裝的root密碼,但不會讓我。我已經試過了:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
[1]- Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
如何重置密碼?編輯1我得到了這個:
$ ps ax| grep mysql
16515 ? Ssl 0:00 /usr/sbin/mysqld
16551 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ? Ssl 0:00 /usr/sbin/mysqld
16715 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
好像進程一殺死我就會自動重啟mysql …
最佳方案
首先請嘗試使用
mysql -u root -p
并在提示時輸入密碼(如果您還記得的話)以sql-root用戶身份登錄(請注意,開關-p用于輸入密碼)。
如果確實需要重置mysql的root密碼,這是一種簡單的方法-使用dpkg-reconfigure重新配置軟件包。
重置mySQL root密碼的簡單步驟:
檢查您的mysql-server的版本;
apt-cache policy mysql-server
并查看顯示已安裝版本的行以及其他信息。例如對于我的安裝是:
Installed: 5.5.37-0ubuntu0.12.04.1
(據(jù)此,我知道我的系統(tǒng)中已安裝mysql-server-5.5。)
使用以下命令開始重新配置:
sudo dpkg-reconfigure mysql-server-*.*
其中mysql-server-*.*應該替換為您擁有的版本。 (對我來說是mysql-server-5.5)。這將停止數(shù)據(jù)庫守護程序。然后將出現(xiàn)提示,您必須在其中輸入新密碼并確認重新配置。
重新配置完成后,守護程序將自動啟動。
然后,您可以登錄:
mysql -u root -p
并啟動數(shù)據(jù)庫管理任務。
參考文獻:
次佳方案
步驟1:停止MySQL服務。
sudo service mysql stop
步驟2:殺死所有正在運行的mysqld。
sudo killall -9 mysqld
步驟3:以安全模式啟動mysqld。
sudo mysqld_safe --skip-grant-tables --skip-networking &
步驟4:啟動mysql客戶端
mysql -u root
步驟5:成功登錄后,請執(zhí)行此命令以更改任何密碼。
FLUSH PRIVILEGES;
步驟6:您可以更新mysql root密碼。
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
對于mysql> 5.7使用它代替上面的方法:
UPDATE mysql.user SET authentication_string=PASSWORD('newpwd') WHERE User='root';
步驟7:請執(zhí)行此命令。
FLUSH PRIVILEGES;
步驟8:退出mysql控制臺
exit
步驟9:殺死m(xù)ysqld_safe并啟動mysql
sudo killall mysqld_safe && sudo service mysql start
第三種方案
在Ubuntu 16.04和mysql-server-5.7下,正確的答案是olafure的最后評論,dpkg-reconfigure mysql-server-5.7不再起作用。
sudo service mysql stop
sudo killall mysqld
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
現(xiàn)在在mysql控制臺中>mysql
USE mysql;
UPDATE user SET authentication_string=PASSWORD('newpass') WHERE user='root';
FLUSH PRIVILEGES;
\q
重新啟動良好的mysql進程
sudo killall mysqld
sudo service mysql start
檢查您的新密碼
mysql -u root -p
Enter password: newpass
mysql>
第四種方案
從MySQL 5.7開始,在初始安裝期間,如果將密碼保留為空,則對于該用戶,身份驗證將基于auth_socket插件。
更改密碼的正確方法是:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
參考資料
總結
以上是生活随笔為你收集整理的无法为您重置MySQL密码_无法重置MySQL的root密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache 部署python3_fla
- 下一篇: xshell怎么连接windows se