Linux重置Mysql密码_解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost
Linux重置Mysql密碼
一般這個錯誤是由密碼錯誤引起,解決的辦法自然就是重置密碼。
假設我們使用的是root賬戶。
1.重置密碼的第一步就是跳過MySQL的密碼認證過程,方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在文檔內搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim編輯狀態下直接輸入該命令可搜索文本內容)
在[mysqld]后面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程,如下圖所示:
保存文檔并退出:
#:wq
2.接下來我們需要重啟MySQL:
/etc/init.d/mysql restart(有些用戶可能需要使用/etc/init.d/mysqld restart)
3.重啟之后輸入#mysql即可進入mysql。
4.接下來就是用sql來修改root的密碼
mysql> use mysql; mysql> update user set password=password("你的新密碼") where user="root"; mysql> flush privileges; mysql> quit到這里root賬戶就已經重置成新的密碼了。
5.編輯my.cnf,去掉剛才添加的內容,然后重啟MySQL。大功告成!
網上有很多關于這個問題的解決說明,很多剛接觸的朋友可能比較迷惑的是在自己的平臺上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:
至于windows平臺,去安裝目錄下找一下my.ini。
linux下忘記mysql密碼的幾種找回方法
方法一:
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> update user set password=password(newpassword) where user=root; mysql> flush privileges; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p enter password: <輸入新設的密碼newpassword> mysql>方法二:
直接使用/etc/mysql/debian.cnf文件中[client]節提供的用戶名和密碼:
# mysql -udebian-sys-maint -p enter password: <輸入[client]節的密碼> mysql> update user set password=password(newpassword) where user=root; mysql> flush privileges; mysql> quit # mysql -uroot -p enter password: <輸入新設的密碼newpassword> mysql>方法三:
這種方法我沒有進行過測試,因為我的root用戶默認密碼已經被我修改過了,那位有空測試一下,把結果告訴我,謝謝!!
# mysql -uroot -p enter password: <輸入/etc/mysql/debian.cnf文件中[client]節提供的密碼>方法四:
方法如下: 1, 關閉mysql服務 /etc/init.d/mysqld stop 2,使用 –skip-grant-tables選項啟動mysql服務,可以修 改/etc/inin.d/mysqld腳本啟動位置增加此選項, vi /etc/init.d/mysqld
方法如下:
1, 關閉mysql服務
/etc/init.d/mysqld stop
2,使用 –skip-grant-tables選項啟動mysql服務,可以修 改/etc/inin.d/mysqld腳本啟動位置增加此選項,
vi /etc/init.d/mysqld
在下面運行啟動的語句里增加–skip-grant-tables
/usr/bin/mysqld_safe --skip-grant-tables --datadir=“datadir"??socket="datadir" --socket="datadir"??socket="socketfile”
–log-error=“errlogfile"??pid?file="errlogfile" --pid-file="errlogfile"??pid?file="mypidfile”
加入–skip-grant-tables的意思是啟動mysql服務的時候跳 過權限表認證。啟動后,連接到mysql的root不需要口令
3,重新啟動mysql服務
etc/init.d/mysqld start
4. 修改root用戶的密碼;
mysql> update mysql.user set password=password(123456) where user=root;
mysql> flush privileges;
mysql> quit
5. 重新啟動mysql,就可以使用 新密碼登錄了。
mysql
mysql -u root –p
輸入密碼:123456
6,關閉mysql服務
etc/init.d/mysqld stop
7, 重新修改第2步修改的/etc/init.d/mysqld,使其保持原來不變,也就是取消–skip-grant-tables語句
8,重新 啟動mysql服務
etc/init.d/mysqld start
總結
以上是生活随笔為你收集整理的Linux重置Mysql密码_解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第四范式AI新品发布会报名开启(8月20
- 下一篇: 重磅嘉宾公布,第四范式AI新品发布会进入