連接mysql遠程資料庫報錯(mysql資料庫遠程連接不上)

本文目錄一覽:

Mysql無法遠程連接,要如何解決

原因是MySQL默認不支持遠程連接,(那麼phpMyAdmin為什麼可以連接呢?那是因為phpMyadmin的環境是上傳到伺服器的,其本身訪問資料庫是相當於本機localhost訪問的),如果想遠程訪問,可以使用下面的方法來解決。

遠程連接mysql資料庫時出現如下提示信息:「MYSQL CONNECT ERROR – 1130:Host 』202.43.**.**』 is not allowed to connect to this MySQL server」

在創建mysql賬戶時,限制連接賬戶遠程登錄。也就是說,除了當前mysql所在的安裝伺服器外,其他的ip(主機)都是不允許訪問的,即使你的用戶名和密碼是正確的。這時候就要修改用戶的訪問許可權。

首先是用root用戶登錄到mysql的安裝主機,然後進入mysql:

mysql -u root -p

root是mysql的最高授權用戶名,這時會提示你輸入密碼,正確輸入密碼後回車,進入mysql。回車

然後輸入如下命令:

grant all on 資料庫名.* to 『資料庫賬戶名』@』%』 identified by 『密碼』 with grant option;

回車

flush privileges;

回車

注意:上面的單引號不能省,資料庫名.* 表示要開放的資料庫下所有表,如果該連接的所有資料庫都要開放,可以用 *.* 代替。

『資料庫賬戶名』@』%』 這裡表示要開放的賬戶,百分號表示在任何主機都允許訪問。

如果以上兩步均顯示 「Query OK, 0 rows affected (0.00 sec)」,那麼說明命令已經成功執行,現在就可以遠程連接你的mysql資料庫了。

(1).如果想賦予所有操作的許可權

grant all on … to 用戶名……

(2).如果想賦予操作所有資料庫的所有表的許可權

grant … on *.* to 用戶名……

(3).如果想賦予某個資料庫的所有表

grant … on 資料庫名稱.’*’ to 用戶名…… ([ * ]兩邊一定要加單引號)

(4).如果想賦予某個資料庫的某張表

grant … on 資料庫名稱.表名 to 用戶名……

(5).如果想任何客戶端都能通過該用戶名遠程訪問

grant … on … to 用戶名@% ……. (要把IP地址改成[ % ])

(6).改完了以後一定要重新啟動MySQL服務

用戶會存到Mysql伺服器上的user表中,所以下面的兩種方法都可以解決這個問題:

1。 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 “mysql” 資料庫里的 “user” 表裡的 “host” 項,從”localhost”改稱”%”

mysql -u root -p

mysqluse mysql;

mysqlupdate user set host = 』%』 where user = 』root』;mysqlselect host, user from user;

mysqlflush privileges;

2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。

GRANT ALL PRIVILEGES ON *.* TO 』myuser』@』%』 IDENTIFIED BY 』mypassword』 WITH GRANT OPTION;

如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql伺服器,並使用mypassword作為密碼

GRANT ALL PRIVILEGES ON *.* TO 』myuser』@』192.168.1.3』 IDENTIFIED BY 』mypassword』 WITH GRANT OPTION;

如果還是無法遠程我們可參考

1、Mysql的埠是否正確,通過netstat -ntlp查看埠佔用情況,一般情況下埠是3306。在用工具連接MySQl是要用到埠。例如My AdminMy Query BrowserMySQl Front等。

2、檢查用戶許可權是否正確。

例如:用戶Tester,user表裡有兩條記錄:host分別為localhost和%(為了安全,%可以換成你需要外部連接的IP)。

3、查看/etc/my.cnf中,skip-networking 是否已被注掉,需要注掉。

報錯:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘192.168.51.112’ (111)

4、查看iptables是否停掉,沒關的情況下,無法連接。

通過:service iptables stop臨時關閉。

報錯:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘192.168.51.112’ (113)

另外,我們還可以通過配置http通道來使Navicat遠程連接到資料庫,這樣做的好處是不需要前面繁雜的配置。在主機名IP地址那裡填寫LocalHost

用戶名與密碼一欄則填寫你所在的資料庫用戶名與密碼。

這時候還不能連接資料庫的,需要通過Http通道的形式進行資料庫連接。

點擊連接屬性標籤欄中的Http,如下圖所示:

勾選使用Http通道後,在通道地址一欄輸入你的網址與後台文件地址。

怎麼解決mysql遠程連接報10038的錯誤

1、首先確認網路配置沒有問題。

2、確認資料庫連接參數正確。

3、確保資料庫用戶擁有所有主機訪問許可權。在本地連接mysql執行如下命令:

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

上述語句意思是將root用戶賦予可以訪問任何主機的任何資料庫許可權,注意password為你設置的root用戶密碼。

怎麼解決mysql不允許遠程連接的錯誤

最近使用Navicat for MySQl訪問遠程mysql資料庫,出現報錯,顯示「1130 – Host’xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server「。解決辦法如下:

方法/步驟

首先看報錯窗口。

經查閱,錯誤原因是:本地IP(xxx.xxx.xxx.xxx)沒有訪問遠程資料庫的許可權。

於是下面開啟本地IP(xxx.xxx.xxx.xxx)對遠程mysql資料庫的訪問許可權。

首先遠程連接進入伺服器,在cms中輸入mysql -u root -p,然後回車,輸入密碼後回車進入mysql命令行。

輸入use mysql;

輸入select user,password,host from user;

可以看到host中只有localhost主機。我們需要將xxx.xxx.xxx.xxx也添加到這裡才對。

添加方法如下:

輸入

grant all privileges on *.* to root@”xxx.xxx.xxx.xxx” identified by “密碼”;

這相當於是給IP-xxx.xxx.xxx.xxx賦予了所有的許可權,包括遠程訪問許可權。

然後再輸入

flush privileges;

這相當於是重新載入一下mysql許可權,這一步必須有。

再次輸入select user,password,host from user;

可以看到host中已經有了新加的IP。

現在再次用Navicat for MySQl訪問遠程mysql資料庫,已經能正常打開了。

問題解決。

不過還有一個問題,發現雙擊打開某張表的時候很慢,至少要3秒。

原因是:

當遠程訪問mysql時, mysql會解析域名, 所以會導致訪問速度很慢, 會有2,3秒延時!

解決辦法:

修改mysql安裝目錄下的my.ini,加上下面這個配置可解決此問題。在[mysqld]下加入:skip-name-resolve

保存退出後重啟mysql服務。

然後訪問速度就和本地一樣快啦。

連接mysql資料庫失敗怎麼辦

1 mysql 錯誤 ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’

解決辦法:關閉防火牆,linux下命令

[root@etl01 bin]# chkconfig –list | grep -i iptables ====check fire wall

iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@etl01 bin]# /sbin/service iptables stop ====stop fire wall

Flushing firewall rules: [ OK ]

Setting chains to policy ACCEPT: nat filter [ OK ]

Unloading iptables modules: [ OK ]

2 報錯:1130-host … is not allowed to connect to this MySql server

解決辦法:

授權形式

比如賬戶為root,密碼為root

use mysql;

用root賬戶從任何主機上訪問mysql資料庫了

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

如果你想允許用戶zz從ip為192.168.1.3的主機連接到mysql伺服器,並使用123456作為密碼

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.3’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

MySQL Control Center遠程連接資料庫報錯10060

1,mysql版本問題

在mysql4。1之前

和mysql4.1之後

所用的密碼校驗方式方式不同

如果你用舊版本的mysql登錄新版的話

就有可能出現登錄不上的提示

這種提示內容通常是什麼校驗或者驗證錯誤的

解決辦法是請管理員給你改下密碼

改的時候使用

old_password

函數

或者你裝新版的mysql

不過如果你不想動你的phpmysql

還是採用上一種

2,給你的地址或者埠錯誤?或者你的防火牆擋住了mysql

假設給你的地址是1.2.3.4

埠是3306

你可以telnet

1.2.3.4

3306

看看連接能不能通

如果不通

關防火牆再試一次看通不通

資料庫MySQL要遠程連接,出現這個錯誤是什麼原因?

Mysql

遠程連接Mysql伺服器的資料庫,錯誤代碼是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server

猜想是無法給遠程連接的用戶許可權問題。

這樣子操作mysql庫,即可解決。

在本機登入mysql後,更改 「mysql」 資料庫里的 「user」 表裡的 「host」 項,從」localhost」改稱’%’即可

mysql -u root -p

mysql;use mysql;

mysql;select ‘host’ from user where user=’root’;

mysql;update user set host = ‘%’ where user =’root’;

mysql;flush privileges;

mysql;select ‘host’ from user where user=’root’;

第一句:以許可權用戶root登錄

第二句:選擇mysql庫

第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)

第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址

第五句:刷新MySQL的系統許可權相關表

第六句:再重新查看user表時,有修改。。

重起mysql服務即可完成。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280682.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-21 13:04
下一篇 2024-12-21 13:04

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Python運行不報錯又無任何結果輸出可能產生的原因以及解決方法

    在Python編程過程中,有時候會出現程序運行不報錯但卻沒有任何結果輸出的情況。本文將從多個方面解析這個問題,並提供相應的解決方法。 一、語法錯誤 語法錯誤是Python程序中最常…

    編程 2025-04-29
  • Java 監控介面返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控介面返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python切片索引越界是否會報錯

    解答:當對一個字元串、列表、元組進行切片時,如果索引越界會返回空序列,不會報錯。 一、切片索引的概念 切片是指對序列進行操作,從其中一段截取一個新序列。序列可以是字元串、列表、元組…

    編程 2025-04-29

發表回復

登錄後才能評論