mysql登陸報錯「Access denied for user 'root'@'localhost' (using password: YES」)的處理方法

環境

CentosOS 6.5 ,已安裝mysqlhtml

情景

root密碼忘記,使用普通用戶沒法登陸mysql

解決

問題一 沒法使用mysql命令

參考文章:https://www.cnblogs.com/comeping/p/8576694.htmlsql

加入環境變量PATH數據庫

# PATH=$PATH:/usr/local/mysql/bin
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile

 

問題二 Access denied for user

登陸時出現以下tcp

# mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我不知道root密碼,也不知道輸的對不對,我就按忘記密碼處理了spa

參考文章:https://blog.csdn.net/qq_35389417/article/details/78910974.net

 

在Linux下忘記MySQL密碼後咱們能夠經過一個mysql的參數–skip-grant-tables &輕鬆解決這個問題
親測在CentOS有效
其中 --skip-grant-tables 的意思是跳過受權表,經過此參數來跳過輸入密碼,後面跟得 & 符號是表示設置此進程爲後臺進程rest

具體操做過程以下:
1.首先關閉掉MySQL系統服務: service mysqld stopcode

2.使用命令跳過輸入密碼過程:mysqld_safe --skip-grant-tables &htm

而後再輸入mysql,進入mysql

3.進入 mysql數據庫,而後經過語句修改密碼:

use mysql
update user set password=password("root1234") where user='root'; //修改用戶:root的密碼成爲:root1234
flush privileges//刷新MySQL的系統權限相關表,不然會出現拒絕訪問 忘記輸入的話重啓mysql服務也能夠

重啓mysql系統服務後就能夠用新密碼進入MySQL了: service mysqld restart

 

問題三 遠程連接

參考:https://blog.csdn.net/testcs_dn/article/details/51406712

開放防火牆端口
添加須要監聽的端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

保存設置
/etc/init.d/iptables save

查看狀態
/etc/init.d/iptables status

臨時關閉防火牆服務
service iptables stop

開啓防火牆服務
service iptables start

開機再也不啓動防火牆服務
chkconfig iptables off 

 

此外,關於受權的問題,請參考https://www.cnblogs.com/fnlingnzb-learner/p/5833337.html

相關文章
相關標籤/搜索