主要是為了解決mysql for linux錯誤 error 1045 (28000): access denied for user 'root'@'localhost' (using password: yes)
該錯誤發生於密碼輸入錯誤時,所以需要對密碼進行重置。
這種情況下mysql會自動生成乙個動態密碼,你找到該動態密碼,修改為你自己的密碼就行了
找原始密碼:
有些有readme文件的,裡面就有:
否則就進入mysql的日誌檔案
vim /var/log/mysqld.log (每個人可能不一樣,你們自己找)
找到下面這句話,密碼在後面
a temporary password is generated for root@localhost:
注;如果找不到動態密碼就看第二種情況
然後修改密碼:
1.重置密碼的第一步就是跳過mysql的密碼認證過程,方法如下:
vim /etc/my.cnf(注:windows下修改的是my.ini)
在[mysqld]後面任意一行新增「skip-grant-tables」用來跳過密碼驗證的過程,如下圖所示:
儲存文件並退出:
:wq2.然後我們需要重啟mysql:
/etc/init.d/mysql restart(或者/etc/init.d/mysqld restart)
有些使用者可能不一樣,自己查一下自己的重啟mysql的命令
3.重啟之後輸入mysql即可進入mysql。
4.接下來就是用sql來修改root的密碼
mysql> use mysql;
mysql> update user set password=password("你的新密碼") where user="root";
(現在版本更新,password欄位不能被識別,取而代之的是authentication_string,語句應更改為:
update user set authentication_string=password("你的新密碼") where user="root" ;)
mysql> flush privileges;(重新整理)
mysql> quit
到這裡root賬戶就已經重置成新的密碼了。
5.編輯my.cnf,去掉剛才新增的內容,然後重啟mysql。大功告成!
注:如果找不到找不到my.cnf或者my.ini檔案
linux:
windows:去安裝目錄下找my.ini
MySQL密碼重置方法(Linux中)
vim etc my.cnf 注 windows下修改的是my.ini 在文件內搜尋mysqld定位到 mysqld 文字段 mysqld 在vim編輯狀態下直接輸入該命令可搜尋文字內容 在 mysqld 後面任意一行新增 skip grant tables 用來跳過密碼驗證的過程,如下圖所示 儲存...
重置mysql 密碼 mysql重置密碼
ubuntu下重置mysql的root密碼 sudo vi etc mysql my.cnf,在 mysqld 段中加入一行 skip grant tables sudo service mysql restart,重啟mysql服務 sudo mysql u root p mysql,用空密碼進入...
mysql 重置密碼 mysql 重置密碼
mysql 重置密碼 版本5.7之前 1 修改mysql配置檔案 vi etc my.cnf 注 windows下修改的是my.ini 在 mysqld 後面任意一行新增 skip grant tables 用來跳過密碼驗證的過程。重啟mysql 2 進入mysql root localhost m...