mysql連接不上遠程服務器(mysql本地可以連接遠程連接不上)

本文目錄一覽:

mysql連接不上怎麼辦

1.排除網絡或防火牆問題

先看是否能ping通遠程服務器,ping 192.168.1.211,如果不可以就是網絡問題。然後,檢查端口是否被防火牆擋住了,telnet 192.168.1.211 3306,如果連接失敗,配置防火牆。

配置防火牆,開啟3306端口

vi /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允許3306端口通過防火牆)

/etc/init.d/iptables restart(重啟防火牆使配置生效)

2.檢查MySQL配置

如果開啟了防火牆,telnet還是失敗,通過netstat查看3306的端口狀態:

netstat -apn|grep 3306

tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld

注意地方,這說明3306被綁定到了本地。檢查一下my.cnf的配置,這裡可以配置綁定ip地址。

bind-address=addr

不配置或者IP配置為0.0.0.0,表示監聽所有客戶端連接。

ps:我開啟3306端口,並且檢查MySQL配置之後,telent仍然失敗,但是在本機telnet是ok的,再三確認了配置沒有問題。後來跟我們的ucloud賬號管理員提了一下,才知道ucloud管理後台也需要開啟3306端口,用雲服務器的留意這個。

3.檢查用戶訪問權限

MySQL建用戶的時候會指定一個host,默認是127.0.0.1/localhost,那麼這個用戶就只能本機訪問,其它機器用這個用戶帳號訪問會提示沒有權限,host改為%,表示允許所有機器訪問。

最後,別忘了重啟mysql使配置生效。

# /etc/init.d/mysql restart

望採納

不能對Mysql服務器進行遠程連接,怎麼回事?

你在遠程訪問的時候,用戶名

不能是

root用戶,必須由你訪問的那個機器

上的MySQL

分配個用戶,用那個用戶名和密碼就可以連接成功了,,連接地址是IP的形式

mysql連接不上遠程服務器,如何解決

遠程服務器連接MySQL,需要創建一個允許遠程訪問的用戶。

創建用戶:

CREATE USER’username’@’host’ IDENTIFIED BY ‘password’;

其中username 是用戶名,host是可以進行遠程訪問數據庫的服務器地址。

給用戶授權:

GRANT privileges ONdatabasename.tablename TO ‘username’@’host’;

給’username’@’host’用戶進行授權,其中privileges是要授予的權限,可以是all privileges、select、update等。databasename.tablename是要訪問的某個數據庫中的某張表,如果是所有的,則可以用*。

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通道後,在通道地址一欄輸入你的網址與後台文件地址。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 02:20
下一篇 2024-12-14 02:24

相關推薦

  • 如何修改mysql的端口號

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

    編程 2025-04-29
  • 服務器安裝Python的完整指南

    本文將為您提供服務器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 服務器

    STUN 服務器是一個網絡服務器,可以協助網絡設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 服務器做詳…

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

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

    編程 2025-04-29
  • 解決docker-compose 容器時間和服務器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與服務器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

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

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

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • 如何選擇MySQL服務器文件權限

    MySQL是一種流行的關係型數據庫管理系統。在安裝MySQL時,選擇正確的文件權限是保證安全和性能的重要步驟。以下是一些指導您選擇正確權限的建議。 一、權限選擇 MySQL服務器需…

    編程 2025-04-27
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27

發表回復

登錄後才能評論