mysql無法連接遠程資料庫
首先我們在linux系統上安裝mysql,本文默認linux系統可以聯網或者已經掛載光碟iso了,我們使用命令 apt-get install mysql-server 命令進行安裝,安裝完成後,查看mysql是否啟動,執行命令 ps -e |grep mysql。
B. navicat for mysql 怎麼連接遠程資料庫伺服器
1,打開Navicat for MySQL,點擊左上角「鏈接」按鈕,如下圖:
3,最後確定保存即可。
C. 怎樣解決mysql資料庫無法遠程連接
A:你想mysql賬戶myuser使用密碼mypassword從任何主機連接到mysql伺服器的話,那就在mySQL命令行下輸入:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
若上面那條命令還沒有奏效,那就使用下面的命令,一定成功!
如果你想允許想mysql賬戶myuser從ip為192.168.1.3的主機連接到mysql伺服器,並使用mypassword作為密碼,那就在mySQL命令行下輸入:
D. MySQL連接遠程伺服器資料庫連接不上
這個遇到過,是因為你的mysql沒有開啟ip訪問許可權。
解決方案:
1。授權法:
use
mysql;
grant
all
privileges
on
*.*
to
leo@'%'
identified
by
"leo";
以leo用戶在任何地方都可以訪問;
2。改表法:
可以實現以root用戶在任何地方訪問資料庫
update
user
set
host
=
'%'
where
user
=
'root';
這樣就可以了
E. 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通道後,在通道地址一欄輸入你的網址與後台文件地址。
F. PHP無法連接到遠程的mysql資料庫
首先你要確定你遠程的MYSQL開啟了遠程連接。
默認是不會開啟的,一般情況也是不建議開啟的,存在風險比較大。
默認都是伺服器本機或者區域網連接使用。
進入伺服器給mysql加上一個賬號或者直接在你使用的賬號上,連接地址localhost或者127.0.0.1改成%,就表示任何IP都可以連接了,這樣就可以遠程連接了。
建議用一些界面管理軟體來修改比較直觀一點,當然你熟悉命令也是可以用命令來修改的。
G. 用MysQL怎麼進行遠程連接資料庫
1、首先在電腦端登陸數據伺服器進行操作,如圖所示。
H. java程序遠程連接mysql資料庫失敗是怎麼回事
報什麼錯呢?
是不是遠程的Mysql不允許遠程連接的原因?
你可以按下面的操作試一下。
首先,進入MYSQL:mysql-uroot-p
密碼:******
然後可以進入到MYSQL資料庫里,查看裡面的user表。
執行命令:usemysql;
selecthost,userfromuser;這里可以看到
+-----------+------------------+
|host|user|
+-----------+------------------+
|127.0.0.1|root|
|localhost|debian-sys-maint|
|localhost|root|
|namenode|root|
+-----------+------------------+
黑體部分是127.0.0.1將這個更新為%即是所有的地址都可以訪問
updateusersethost='%'wherehost='127.0.0.1'退出
然後打開mysql目錄下的my.cnf文件,找到
bind-address=127.0.0.1將後面改為你伺服器的IP地址保存退出,重新啟動mysql,OK,就可以遠程登錄了
I. 無法連接遠程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>
J. 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;