今天在用SQLyog遠程連接數據庫的時候,發現access denied for user 'root'@'localhost' (using password: YES) 拒絕訪問,並可修改MySQL密碼
的錯誤。
首先我嘗試了一下,是否是因為防火牆沒有關閉的原因,檢查了一下,
不是防火牆沒有關閉的原因。
那么,就百度查找連接不上的原因。
出現access denied的原因有如下可能:
1)mysql的服務器停止
2)用戶的端口號或者IP導致
3)mysql的配置文件錯誤----my.ini等文件
4)root用戶的密碼錯誤
- 若MySQL已經沒有啟動,重啟MySQL服務器:service mysqld restart
- 若用戶的端口號與IP(3306/3307)不一致,打開my.ini(如果是linux上安裝的,就叫:my.cnf,位置:/etc/my.cnf)文件進行編輯。全部編輯替換為: port=X
- my.ini文件誤輸入無效內容,不知道到何處。復制替換該文件;有人已經對my.ini文件進行解釋以及注釋(非博主的文章)https://blog.csdn.net/lienfeng6/article/details/78140404
- root用戶密碼錯誤,本博客主要內容【解決方案】
那么,就一個一個的試,
我的操作步驟:1,進入/etc/my.cnf 在[mysqld]后添加skip-grant-tables [mysqld]下添加一行,使其登錄時跳過權限檢查
2.重啟MySQL服務器。命令:service mysqld restart
3,再次嘗試SQLyog遠程連接數據庫,發現成功了。
那么,我的理解就是,跟我重啟mysql服務器有關系。
百度了一下,發現了很多種解決辦法,我也沒有每個都去驗證。