1. 程式人生 > >Host is not allowed to connect to this MySQL server 和 access denied for user 'root'@'localhost' 解決辦法

Host is not allowed to connect to this MySQL server 和 access denied for user 'root'@'localhost' 解決辦法

昨天,我讓同事連我的資料庫,連不上,報錯:

Host is not allowed to connect to this MySQL server

這個錯誤之前也見過,意思是說我的 MySQL 伺服器不允許這臺主機連線。需要修改 MySQL 資料庫中的資料庫名稱為 mysql 的資料庫中的 user 表。可以增加一條記錄只允許某個主機用某個使用者連線。也可以修改一條記錄允許所有的主機用某一個使用者連線。
可以把圖中紅框中的 127.0.0.1 修改為 % 就可以了。原來的意思是隻允許 root 使用者在本機連線 MySQL 資料庫伺服器,修改為 % 的意思是所有的主機都可以用 root 使用者連線 MySQL 伺服器了。

這裡寫圖片描述

我只是記得要修改 mysql 資料庫中的 user 表中的 host 欄位,我昨天把 127.0.0.1 錯誤地修改為 :: ,結果導致了所有的主機都不能訪問 MySQL 資料庫伺服器了。因為沒有一臺主機的名字是 :: 。我為什麼會錯誤地改成這樣呢,我看了下其他的資料中的 host 欄位中有 ::1 這樣的值,我錯誤地以為 ::1 表示允許所有的主機連線。而我在修改的時候卻少加了個 1 ,導致了所有的主機包括本地都不能連線資料庫伺服器。

那麼 ::1 到底表示的是什麼呢?後來查了 ::1 是 ip v6 下的一種表示方式, 和 localhost 127.0.0.1 也是一樣的意思,表示的是本地主機。

Host is not allowed to connect to this MySQL server

這是是因為許可權的問題,忘記了使用者名稱和密碼也可以通過同樣的方法解決。
我是在 my.ini 檔案中增加了一行跳過許可權檢查的設定就好了:

skip-grant-tables

說一下 my.ini 檔案的位置吧,我的系統是 win7 64位,my.ini 檔案位於:

C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

還有一個檔名叫 my-default.ini ,我最開始找到了這個檔案,沒找到 my.ini 檔案,我用的資料庫版本是 5.7 以為 5.7 的 my-default.ini 檔案就是 my.ini 檔案。結果添加了跳過許可權檢查的設定仍然不能連線資料庫伺服器。後來
後來終於找到了 my.ini 檔案,增加了跳過許可權設定重啟服務之後終於可以建立資料庫連線了。

再說一下在 my.ini 檔案的哪個位置加這一行設定,在 my.ini 檔案中會有一行:

[mysqld]

找到這一行內容,在這一行內容的下面加:

skip-grant-tables

這一行設定,然後重啟 MySQL 的服務就可以連線到資料庫的伺服器了。我試了下加了這個設定之後,只需要知道 MySQL 伺服器的 ip 地址就能連線到伺服器了。不需要知道 MySQL 伺服器的使用者名稱和密碼,在連線的時候使用者名稱和密碼欄位為空或為任意的值都能成功的連線到資料庫伺服器。
如果是忘記使用者名稱和密碼的話,可以建立連線之後再做相應的操作,比如修改密碼或新增資料庫使用者等。最後再把 my.ini 檔案新加的那一行設定刪除,重啟 MySQL 服務就生效了。

相關推薦

Host is not allowed to connect to this MySQL server access denied for user 'root'@'localhost' 解決辦法

昨天,我讓同事連我的資料庫,連不上,報錯: Host is not allowed to connect to this MySQL server 這個錯誤之前也見過,意思是說我的 MySQL 伺服器不允許這臺主機連線。需要修改 MySQL 資料庫中的資料

mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost

ubutun裝mysql,步驟: sudo apt-get install mysql-server sudo apt isntall mysql-client sudo apt install libmysqlclient-dev 安裝成功後可以通過下面的命

1045 access denied for user 'root'@'localhost' using password yes 以及Can't connect to MySQL解決方法(簡單方法)

昨天還可以連結,今天突然無法訪問資料庫,經過嘗試發現了原因 在網上搜了很多方法,似乎都很麻煩,最後找到了解決方法,我的是mysql 5.7  導致這種情況發生的原因是:mysql服務未啟動 解決方法如下: 開始-->控制面板-->管理工具-->服務--&g

安裝mysql 出現錯誤Unable to update security settings. Access denied for user 'root'@'localhost' 的解決

以前安裝過mysql,解除安裝了之後重新安裝,當安裝到mysql server的時候出現Unable to update security settings. Access denied for user 'root'@'localhost' (using password:

Mysql錯誤: Access denied for user ''@'localhost' to database 'mysql'

1.關閉mysql   # service mysqld stop2.遮蔽許可權   # mysqld_safe --skip-grant-table   螢幕出現: Starting demo fr

訪問網站出現Access denied for user 'root'@'%' to database 'xxx'

在linux下連線了資料庫之後,網頁上顯示Access denied for user 'root'@'%' to database 'xxx'的字樣時, 通過資料庫授權: grant all on xxx.* to 'root'@'%' identified by 'pa

mysql重灌時報錯:last error unable to update security settings. access denied for userroot’ @ ‘localh

當你們看到這文章時,相信你也遇到了mysql重灌不上的問題了。 last error unable to update security settings. access denied for us

mysql建立資料庫後出現Access denied for user 'root'@'%' to database 'xxx'

歡迎掃碼加入Java高知群交流 1.建立資料庫 create database mytest; 2.連線資料庫 報以下錯: Access denied for user 'root'@'%' to database 'mytest' 原因:建立完資料庫後,需要進行

Warning mysql connect Access denied for user 'root' 'loc

程式碼可能是這麼寫的://to make a connection with database$conn = mysql_connect("localhost","root","password")ordie(mysql_error());在某些情況下,你改成下面就可以解決:$conn = mysql_con

Caused by: java.sql.SQLException: Access denied for user 'root'@'host' (using password: YES)

測試環境完整錯誤: Caused by: java.sql.SQLException: Access denied for user 'root'@'host-192-168-107-61' (using password: YES) 解決辦法: S

mysql遠程連接 Host * is not allowed to connect to this MySQL server

his 名稱 微軟 allow cal local 代碼 訪問 spa 在本機登入mysql後,更改"mysql"數據庫裏的"user"表裏的"host"項,從"localhost"改為‘%‘。 代碼如下 mysql> mysql>us

zbb20170811 mysql遠程連接報錯: Host * is not allowed to connect to this MySQL server解決方法

pri oca 軟件 密碼 修改 allow 服務器 mysql遠程連接 查詢 解決此問題有以下2個方法: localhost改成% 1.進入mysql的BIN目錄 註:root為管理員用戶名,password為用戶root的密碼: mysql -u root -p

解決Navicat 出錯:1130-host . is not allowed to connect to this MySql server,MySQL

ror bin mysq pack error: ace lac define 出錯 1. 改表法。 可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入MySQL後,更改 "mysql" 數據庫裏的 "user" 表

Mysql連接報錯:1130-host ... is not allowed to connect to this MySql server如何處理

nmp mage htm 庫服務器 strong 所在 conn bsp -1   這個問題是因為在數據庫服務器中的mysql數據庫中的user的表中沒有權限(也可以說沒有用戶),下面將記錄我遇到問題的過程及解決的方法。   在搭建完LNMP環境後用Navicate連接出錯

遠程連接MySQL提示 Host is not allowed to connect to this MySQL server

img 數據庫 主機 oot 用戶 not service server his 進入連接的主機修改系統數據庫MySQL 下面的user表,把User= root(這裏可能是其他你所需要連接的用戶名)的這行數據的Host從localhost改為% 如下圖: 修改完之後

"1130-host ... is not allowed to connect to this MySql server"登錄失敗

this -h not ant clas con 授權 sql his 原因: 該用戶沒有遠程連接權限. 解決:授權! mysql>GRANT ALL PRIVILEGES ON *.* TO ‘user‘@‘%‘ IDENTIFIED BY ‘passwor

Host is not allowed to connect to this MySQL server解決方法

his allow body ros root all post ges soft 在裝有MySQL的機器上登錄MySQL mysql -u root -p密碼 執行use mysql; 執行update user set host = ‘%‘ where user

開啟MySQL遠端訪問許可權允許遠端連線(解決Host is not allowed to connect to this MySQL server問題)

登陸mysql資料庫     [[email protected] data]# mysql -uroot -p123456 檢視user表 mysql> select host,user,password from user;

[轉]Host is not allowed to connect to this MySQL server解決方法

今天在Linux上面裝完MySQL,卻發現在本地登入可以,但是遠端登入卻報錯Host is not allowed to connect to this MySQL server,找了半天試了網上的一些方法都沒有解決,最終在一篇文章裡找到了解決方法,特意記錄一下。 先說說這個錯誤,其實就是我們的MySQL不

navicat異常 - 1130-host ... is not allowed to connect to this MySql server

錯誤描述 用navicat連線資料庫報錯:1130-host ... is not allowed to connect to this MySql server如何處理   解決方案   1、連線伺服器: mysql -u root -p   2、看當前所有資料庫