1、改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysqluse mysql;
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
2、授權法。例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysqlFLUSH RIVILEGES
使修改生效,就可以了
另外一種方法:
在安裝mysql的機器上運行:
1、d:\mysql\bin\mysql -h localhost -u root
//這樣應該可以進入MySQL伺服器
2、mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//賦予任何主機訪問數據的許可權
3、mysqlFLUSH PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL伺服器
這樣就可以在其它任何的主機上以root身份登錄啦。
2. 為什麼沒法遠程連接別人的資料庫
第一中方法:比較詳細
以下的文章主要介紹的是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;
3. 伺服器的MySQL不能遠程訪問
添加配置:
確定使用的mysql版本,如果為5.0以上的版本需要在mysql的配置文件 (windows下my.ini,linux下my.cnf)中添加如下代碼:
[mysqld]
skip-name-resolve
注意配置完成後重啟mysql服務,5.0一下的就不需要添加了。
分配許可權:
這里我們建議單獨創建一個用戶,不要使用root用戶,這個用戶最好是指定需要連接的計算機。
代碼如下:
MySQL> use MySQL;
Database changed
MySQL> grant all privileges on *.* to 『yourUser』@'%' identified by 『yourPassword』;
Query OK, 0 rows affected (0.00 sec)
*.*標示所有資料庫下的所有表,』*』.*標示資料庫*下的所有表
MySQL> grant all on *.* to 『yourUser』@'%' identified by 『yourPassword』;
Query OK, 0 rows affected (0.00 sec)
%號出可以填寫允許訪問的IP地址或者主機名,%標示所有的IP
Flush privileges;
Query OK, 0 rows affected (0.00 sec)
Mysql> exit;
Bye
啟動連接:
C:\Program Files\MySQL\bin> mysql –h 需要遠程連接的IP或者是主機名 –u 分配的遠程連接賬戶 –p
Enter password:密碼
4. sql server 無法遠程連接
打開sql2008,使用windows身份登錄
SQL Server 2008 R2如何開啟資料庫的遠程連接
SQL Server 2008 R2如何開啟資料庫的遠程連接
2
登錄後,右鍵選擇「屬性」。左側選擇「安全性」,選中右側的「SQL Server 和 Windows 身份驗證模式」以啟用混合登錄模式
SQL Server 2008 R2如何開啟資料庫的遠程連接
SQL Server 2008 R2如何開啟資料庫的遠程連接
3
選擇「連接」,勾選「允許遠程連接此伺服器」,然後點「確定」
SQL Server 2008 R2如何開啟資料庫的遠程連接
展開「安全性」,「登錄名」;「sa」,右鍵選擇「屬性」
SQL Server 2008 R2如何開啟資料庫的遠程連接
左側選擇「常規」,右側選擇「SQL Server 身份驗證」,並設置密碼
SQL Server 2008 R2如何開啟資料庫的遠程連接
右擊資料庫選擇「方面」
SQL Server 2008 R2如何開啟資料庫的遠程連接
在右側的方面下拉框中選擇「伺服器配置」;將「RemoteAccessEnabled」屬性設為「True」,點「確定」
SQL Server 2008 R2如何開啟資料庫的遠程連接
至此SSMS已設置完畢,先退出,再用sa登錄,成功即表示sa帳戶已經啟用
SQL Server 2008 R2如何開啟資料庫的遠程連接
打開sql server配置管理器
SQL Server 2008 R2如何開啟資料庫的遠程連接
下面開始配置SSCM,選中左側的「SQL Server服務」,確保右側的「SQL Server」以及「SQL Server Browser」正在運行
SQL Server 2008 R2如何開啟資料庫的遠程連接
在左則選擇sql server網路配置節點下的sqlexpress的協議,在右側的TCP/IP默認是「否」,右鍵啟用或者雙擊打開設置面板將其修改為「是」
SQL Server 2008 R2如何開啟資料庫的遠程連接
SQL Server 2008 R2如何開啟資料庫的遠程連接
選擇「IP 地址」選項卡,設置TCP的埠為「1433」
SQL Server 2008 R2如何開啟資料庫的遠程連接
將"客戶端協議"的"TCP/IP"也修改為「Enabled」
配置完成,重新啟動SQL Server 2008。此時應該可以使用了,但是還是要確認一下防火牆。打開防火牆設置。將SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允許的列表中。
SQL Server 2008 R2如何開啟資料庫的遠程連接
SQL Server 2008 R2如何開啟資料庫的遠程連接
5. 無法連接遠程資料庫
可能是你訪問的資料庫沒有打開遠程訪問許可權,或者對方所在網路為區域網無法接入。
6. 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通道後,在通道地址一欄輸入你的網址與後台文件地址。
7. 為什麼我不能連接到遠程SQL SERVER資料庫
1 許可權問題,對面沒有設置你的許可權 2 本地安全策略沒有配置好 3 默認 1.先保證ping通(有防火牆的先關閉防火牆) 2.在命令提示符下執行:telnet <伺服器ip地址> 1433 不會報錯 3.連接時使用用ip連接企業管理器 4.如果不行 SQL Server伺服器--開始--程序--Microsoft SQL Server --伺服器網路實用工具 - -啟用 WinSock代理 --代理地址:(sqlserver伺服器IP) --代理埠--設置 ---確定 然後在試試
8. 無法連接遠程MySQL資料庫哪,如何解決
一、連接遠程資料庫:
1、顯示密碼
如:MySQL
連接遠程資料庫(192.168.5.116),埠「3306」,用戶名為「root」,密碼「123456」
C:/>mysql -h
192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地資料庫,用戶名為「root」,
C:/>mysql -h
localhost -u root -p
Enter password:
二、配置mysql允許遠程鏈接
默認情況下,mysql帳號不允許從遠程登陸,只能在localhost登錄。本文提供了二種方法設置mysql可以通過遠程主機進行連接。
一、改表法
在localhost登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host"
項,將"localhost"改稱"%"
例如:
#mysql -u root
-p
Enter password:
……
mysql>
mysql>update user
set host = '%' where user = 'root';
mysql>select host,
user from user;
二、授權法
例如:
你想myuser使用mypassword(密碼)從任何主機連接到mysql伺服器的話。
mysql>GRANT ALL
PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
mysql>GRANT ALL
PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
mysql>FLUSH
PRIVILEGES
使修改生效,就可以了
常見問題:
1、在採用法二授權法之後,無法在本地登錄mysql(如:#mysql -u root -p -h
192.168.5.116
Enter password:
ERROR 1045 (28000): Access denied for user
'root'@'loadb116' (using password: YES)
上例中loadb116是主機名.
解決方法:
1、這時可以使用:mysql -u
root -p 登錄,進入到mysql後。
mysql> grant all privileges on *.* to 'root'@'loadb116'
identified by '123456' with grant option;
Query OK, 0 rows affected
(0.00 sec)
mysql> flush
privileges;
Query OK, 0 rows affected (0.00
sec)
2、在本地使用ip地址登錄
#
mysql -u root -p -h
192.168.5.116
Enter password:
Welcome to the MySQL
monitor. Commands end with ; or /g.
Your MySQL connection id is 60
Server
version: 5.1.45 MySQL Community Server (GPL)
Type 'help;' or '/h' for
help. Type '/c' to clear the buffer.
mysql>
9. 求教為什麼連接不上遠程資料庫
通常都是通過TCP/IP協議來連接遠程資料庫。
首先要保持網路暢通,可以使用ping命令來進行測試網路是否連通,沒有問題可以進行下一步:在客戶端通過配置工具或者應用程序代碼來設置伺服器的地址、埠號、資料庫名稱等信息,此時客戶端採用的工具或者編程語言不同,則配置方法也不同,每一種主流資料庫產品都有圖形化的客戶端配置工具,可以直接使用,在裡面填寫好伺服器相關信息,測試連接即可,下圖就是SQL Server的配置工具。
10. 解決MySQL不允許從遠程訪問的方法有哪些
解決方法:
1。 改表法。
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授權法。
例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器的dk資料庫,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysql>FLUSH RIVILEGES 使修改生效.就可以了
另外一種方法,不過我沒有親自試過的,在csdn.net上找的,可以看一下.
在安裝mysql的機器上運行:
1、d:\mysql\bin\>mysql -h localhost -u root //這樣應該可以進入MySQL伺服器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //賦予任何主機訪問數據的許可權
3、mysql>FLUSH PRIVILEGES //修改生效
4、mysql>EXIT //退出MySQL伺服器
這樣就可以在其它任何的主機上以root身份登錄啦!