本地資料庫為什麼只有聯網才能訪問,該怎麼解決

2021-05-12 22:03:18 字數 3903 閱讀 9999

1樓:

1、首先檢查mysql所在伺服器的防火牆,如果限制了外網對3306埠的連線,那麼放開限制

linux伺服器中執行

iptables -l 可以檢視當前的防火牆規則

iptables -f 可以清空所有防火牆規則

2、確保mysql的監聽地址是0.0.0.0

監聽地址是0.0.0.0 ,表示該mysql允許所有ip地址進行連線,這是允許遠端連線的基礎

監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連線,外網是無法連線的

怎麼知道mysql的監聽地址是多少

linux伺服器中執行如下命令可以檢視: netstat -nutlp|grep mysql

3、新增遠端連線mysql的賬號

此步驟是必須要操作的,mysql本身的使用者只能在本機上連線資料庫,外網連線的話,需要先新增遠端使用者並授權。

在mysql命令列模式下,或者phpmyadmin中執行sql語句新增遠端連線使用者

> grant all on *.* to root@'%' identified by '123456';

> flush privileges;

命令解釋:

*.* 第一個*表示庫,第二個*表示表; *.*對全部資料庫的全部表授權,so.ok 表示只對so這個庫中的ok表授權

root 表示要給哪個使用者授權,這個使用者可以是存在的使用者,也可以是不存在的

'%' 表示允許遠端連線的ip地址,%代表允許所有ip連線

只允許某個ip遠端連線,可以寫成'123.123.123.123'

只允許123.123.123.*這個網段遠端連線,可以寫成 '123.123.123.%' '123456' 是設定授權使用者的連線密碼

flush privileges; 代表立即重新整理許可權表,使新增的使用者生效

上面三步都設定好了,就可以再次嘗試遠端連線mysql了。

2樓:百億動態ip網

/etc/mysql/my.cnf

找到 bind-address =127.0.0.1 將其註釋掉;//作用是使得不再只允許本地訪問;

重啟mysql:/etc/init.d/mysql restart;

2:登入mysql資料庫:mysql -u root -p

mysql> use mysql;

查詢host值:

mysql> select user,host from user;

如果沒有"%"這個host值,就執行下面這兩句:

mysql> update user set host='%' where user='root';

mysql> flush privileges;

或者也可以執行:

mysql>grand all privileges on *.* to root@'%' identifies by ' ***x';

其中 第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣 *.*的話表示所有到資料庫下到所有表都允許訪問;

‘%':表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;

後面到‘***x'為root 使用者的password;

sql server怎麼設定,使用網路上其它的電腦可以訪問?

3樓:

試試用qq遠端協助 當然前提是你要找到一個有qq號的高手來幫忙 ok!

4樓:我是舞二

--訪問不同電腦上的資料庫(遠端只要聯好網就一樣)

--如果經常訪問或資料量大,建議用連結伺服器

--建立連結伺服器

exec sp_addlinkedserver 'srv_lnk','','sqloledb','遠端伺服器名或ip地址'

exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'使用者名稱','密碼'

go --查詢示例

select * from srv_lnk.資料庫名.dbo.表名

--匯入示例

select * into 表 from srv_lnk.資料庫名.dbo.表名

go --處理完成後刪除連結伺服器

exec sp_dropserver 'srv_lnk','droplogins'

為什麼本地連線不上資料庫而遠端可以.

5樓:

1、你確定服務其上的配置檔案沒有語法錯誤嗎?你可以把你的配置檔案放到伺服器上試一下

2、因為你的問題中沒有說清楚是幾臺伺服器,如果是一臺伺服器連不上另一臺伺服器上的資料庫那麼你可以看看伺服器的訪問許可權設定,是否有限制ip或者mac地址之類的設定

基本我之前遇到的也就是這兩種情況了,希望能幫到你。

6樓:

這問題涉及的導致問題的原因很多,先看看你資料庫裡有沒有設定許可權,指定ip訪問

資料在本地伺服器上,聯網訪問伺服器能正常開啟,但是在區域網能不能開啟?

7樓:海騰idc張毅龍

您這種情況是不能開啟的,您需要將本地內網ip對映到公網ip上。

區域網內通過ip不能訪問資料庫伺服器,只能通過修改本地hosts檔案才能訪問,是怎麼回事啊?

8樓:匿名使用者

方法比較巧妙。

我覺得應該是伺服器apache設定問題。

具體你可以查下apache手冊,找出具體的原因。

應該不是dns錯誤。

9樓:匿名使用者

肯能是伺服器設定了防火牆,不讓通過ip訪問

10樓:

本機的dns有問題,建議重灌下系統

11樓:匿名使用者

找不到路徑啊··解析地址不對?

我想在網路上建一個資料庫,我的程式可以訪問網路上的資料庫,應該怎麼做?

12樓:夢之漂泊者

我來說說:在一臺聯網的電腦或者伺服器上安裝sql server 就可以了,簡單。需要使用sql資料庫的程式,sql伺服器地址設定為安裝sql server 的電腦或伺服器ip地址或計算機名稱,就可以了,避免麻煩服務端客戶端的防火牆全部關掉,微軟的防火牆開著也沒什麼用。

13樓:

你的資料庫要能上網,程式端也得能上網,訪問ip ,服務端貌似要關防火牆

14樓:匿名使用者

首先要有個資料庫伺服器,然後安裝好資料庫軟體,在防火牆允許的情況下,用你的程式使用相應的介面連線資料庫。一般程式設計教材都會講的。

自己做了一個本地 jdbc mysql伺服器區域網內給app訪問,現在怎麼讓這個伺服器能用外網訪問

15樓:匿名使用者

自家的寬頻網路是動態ip,每次聯網時ip地址可能都會變,要解決這個問題可以用花生殼

如果是購買雲伺服器,服務商會分配一個外網ip,ip通常是固定不變的,就可以直接通過這個ip訪問了

如果有域名的話,可以將域名解析到該ip,以後訪問就不需要輸入ip,直接使用域名就可以了

我為什麼我安裝sql資料庫無法連線的,是不是要聯網才能連線? 10

16樓:匿名使用者

不是!安裝sql資料庫後,啟動服務管理器!

17樓:

在我的電腦 ---右鍵--管理--服務

找到sqlserver服務

啟動該服務

再連線就可以了

php搜尋資料庫資料的時候為什麼不能顯示第一條

cid post cid sql select from classify where cid cid query mysql query sql row mysql fetch array query while row mysql fetch array query 這樣就行了,上面註釋掉的那行...

Oracle資料庫為什麼引入角色管理?高分送

為的是基於角色的許可權管理,角色相當與使用者組,把許可權和使用者關聯起來了,使得管理更容易,粒度更好控制 比如要給100個使用者授予相同的權力,每個使用者賦予100個不同的權力,沒有角色的話,你就要授權100 100 10000次,很恐怖吧,但是如果你建立1個角色同時擁有這100個不同的權力,那麼你...

為什麼oracle資料庫檔案匯入時不需要驗證密碼

一 密碼檔案 復作用 主制要進行dba許可權的bai 身份認證 dba使用者 du具有sysdba,sysoper許可權的zhi使用者被稱為dba使用者。預設情況下daosysdba角色中存在sys使用者,sysoper角色中存在system使用者 二 oracle的兩種認證方式 1.使用與作業系統...