資料庫無法遠程連接
『壹』 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
mysql>use mysql;
mysql>update user set host = 』%』 where user = 』root』;mysql>select host, user from user;
mysql>flush 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-front 無法遠程連接mysql資料庫
不允許遠程連接這個資料庫,你看下mysql埠是否打開,另外查看一下mysql是否允許遠程連接
幾個解決方案,自己看下
1.修改改mysql配置文件(/etc/mysql/my.cnf),注釋以下行:
#bind-address
=
127.0.0.1
2.重啟mysql資料庫,對於ubuntu系統,執行如下命令
sudo
/etc/init.d/mysql
restart
3.以root用戶登錄mysql後,執行如下命令:
grant
all
privileges
on
*.*
to
root@』允許登錄的遠程機器ip』
identified
by
『密碼』
或者
grant
all
privileges
on
*.*
to
'myuser'@'%'
identified
by
'mypassword'
with
grant
option;
如果你想允許用戶myuser從ip為168.160.12.50的主機連接到mysql伺服器,並使用mypassword作為密碼
grant
all
privileges
on
*.*
to
'myuser'@'168.160.12.50'
identified
by
'mypassword'
with
grant
option;
『叄』 如何處理資料庫遠程調用失敗問題
第一種辦法就是
打開控制面板,找到卸載程序,把」Microsoft SQL Server 2013(2012) Express LocalDB」卸載掉,然後打開SQL Server 配置管理器,就會顯示正常使用。
2
第二種辦法就是升級資料庫
使用更高版本的資料庫,或者升級SqlServer2008為SP1或者SP2。
3
第三種方法就是手動啟動資料庫服務項
方法如下:
右擊「計算機」→「管理」→「服務」,找到SQL Server(MSSQLSERVER),右擊,選擇「啟動」。此時登陸資料庫不會有問題,但是重新啟動系統後,問題會依舊存在的。
『肆』 為什麼沒法遠程連接別人的資料庫
第一中方法:比較詳細
以下的文章主要介紹的是MySQL 資料庫開啟遠程連接的時機操作流程,其實開啟MySQL 資料庫遠程連接的實際操作步驟並不難,知識方法對錯而已,今天我們要向大家描述的是MySQL 資料庫開啟遠程連接的時機操作流程。
1、d:\MySQL\bin\>MySQL -h localhost -u root
這樣應該可以進入MySQL伺服器
復制代碼 代碼如下:
MySQL>update user set host = '%' where user = 'root';
MySQL>select host, user from user;
2、MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION
予任何主機訪問數據的許可權
3、MySQL>FLUSH PRIVILEGES
修改生效
4、MySQL>EXIT
退出MySQL伺服器
這樣就可以在其它任何的主機上以root身份登錄啦!
以上的相關內容就是對MySQL 資料庫開啟遠程連接的介紹,望你能有所收獲。
第二種方法:
1、在控制台執行 mysql -u root -p mysql,系統提示輸入資料庫root用戶的密碼,輸入完成後即進入mysql控制台,這個命令的第一個mysql是執行命令,第二個mysql是系統數據名稱,不一樣的。
2、在mysql控制台執行 GRANT ALL PRIVILEGES ON *.* TO 『root'@'%' IDENTIFIED BY 『MyPassword' WITH GRANT OPTION;
『伍』 sql server 2008無法遠程連接
一、資料庫引擎沒有啟動有兩種啟動方式:(1)開始->程序->MicrosoftSQLServer2008->SQLServer2008外圍應用配置器,在打開的界面單擊"服務的連接的外圍應用配置器",在打開的界面中找到DatabaseEngine,單擊"服務",在右側查看是否已啟動,如果沒有啟動可單擊"啟動",並確保"啟動類型"為自動,不要為手動,否則下次開機時又要手動啟動;(2)可打開:開始->程序->MicrosoftSQLServer2008->配置工具->SQLServerConfigurationManager,選中SQLServer2008服務中SQLServer(MSSQLSERVER),並單擊工具欄中的"啟動服務"按鈕把服務狀態改為啟動;使用上面兩種方式時,有時候在啟動的時候可能會出現錯誤,不能啟動,這時就要查看"SQLServer2008配置管理器"中的SQLServer2008網路配置->MSSQLSERVER協議中的VIA是否已啟用,如果已啟用,則把它禁止.然後再執行上述一種方式操作就可以了。二、進行遠程連接時,是否已允許遠程連接.SQLServer2008在默認情況下僅限本地連接.我們可以手動啟用遠程連接.在上面第一種方式中,找到DatabaseEngine,單擊"遠程連接",在右側將"僅限本地連接(L)"改為"本地連接和遠程連接(R)",並選中"同時使用TCP/IP和namedpipes(B)".三、如果是遠程連接,則還要查看連接資料庫的語句是否正確,登錄賬戶是否正確,密碼是否正確等.
『陸』 求教為什麼連接不上遠程資料庫
通常都是通過TCP/IP協議來連接遠程資料庫。
首先要保持網路暢通,可以使用ping命令來進行測試網路是否連通,沒有問題可以進行下一步:在客戶端通過配置工具或者應用程序代碼來設置伺服器的地址、埠號、資料庫名稱等信息,此時客戶端採用的工具或者編程語言不同,則配置方法也不同,每一種主流資料庫產品都有圖形化的客戶端配置工具,可以直接使用,在裡面填寫好伺服器相關信息,測試連接即可,下圖就是SQL Server的配置工具。
『柒』 MySQL資料庫不允許從遠程訪問怎麼辦
本文提供了三種解決方法:
1、改表法。可能匙你d帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhostd那台電腦,登入mysql後,更改
"mysql"
資料庫里d
"user"
表裡d
"host"
項,從"localhost"改稱"%"
mysql
-u
root
-pvmwaremysql>use
mysql;
mysql>update
user
set
host
=
'%'
where
user
=
'root';
mysql>select
host,
user
from
user;
2、授權法。
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'%'IDENTIFIED
BY
'mypassword'
WI
TH
GRANT
OPTION;
如果你想允許用戶myuser從ip為192.168.1.6d主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'192.168.1.3'IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
我用d第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句
mysql>FLUSH
RIVILEGES
使修改生效,就可以了
另外一種方法:
在安裝mysqld機器上運行:
1、d:/mysql/bin/>mysql
-h
localhost
-u
root
//這樣應該可以進入MySQL伺服器
2、mysql>GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'%'WITH
GRANT
OPTION
//賦予任何主機訪問數據d許可權
3、mysql>FLUSH
PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL伺服器
這樣就可以在其它任何d主機上以root身份登錄啦。
『捌』 連接遠程資料庫失敗
很多原因。比如:
1、資料庫沒啟動;
2、資料庫所在的伺服器與當前應用伺服器斷網了;
3、資料庫用戶、密碼、訪問地址錯了。(重點)
4、jdbc版本問題。
『玖』 為什麼我不能連接到遠程SQL SERVER資料庫
1 許可權問題,對面沒有設置你的許可權 2 本地安全策略沒有配置好 3 默認 1.先保證ping通(有防火牆的先關閉防火牆) 2.在命令提示符下執行:telnet <伺服器ip地址> 1433 不會報錯 3.連接時使用用ip連接企業管理器 4.如果不行 SQL Server伺服器--開始--程序--Microsoft SQL Server --伺服器網路實用工具 - -啟用 WinSock代理 --代理地址:(sqlserver伺服器IP) --代理埠--設置 ---確定 然後在試試