mysql開啟遠程連接:
成都創(chuàng)新互聯專注于企業(yè)全網整合營銷推廣、網站重做改版、上猶網站定制設計、自適應品牌網站建設、HTML5、商城網站開發(fā)、集團公司官網建設、成都外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為上猶等各大城市提供網站開發(fā)制作服務。
以 root用戶登入mysql
GRANT all privileges ON wang.* TO 'wang'@'%' identified by 'wang';
flush privileges;
請點擊輸入圖片描述
修改配置文件
vi /etc/mysql/my.cnf
把bind-address ? ? ? ? ? = 127.0.0.1 ?這行注掉
重啟數據庫
service mysql restart
請點擊輸入圖片描述
本地測試連接3306端口
telnet 192.168.1.77 3306 ? 若已連通
確定已安裝mysql客戶端which mysql
/usr/bin/mysql
然后mysql -uwang -h192.168.1.77 -p ?看能否登錄
請點擊輸入圖片描述
外網如何利用網絡輔助nat123實現訪問內網mysql數據庫?
網絡環(huán)境:動態(tài)公網IP。
明確mysql數據庫內網訪問地址端口,確保mysql數據庫服務正常,在內網可以正常訪問連接。內網使用nat123動態(tài)域名解析。內網服務器安裝nat123客戶端,并使用它。登陸。進入主面板/域名解析列表/添加域名。選擇動態(tài)域名解析記錄,使用二級域名,或自己的域名。鼠標放在輸入框有向導提示。
請點擊輸入圖片描述
路由器端口映射,路由映射mysql數據庫訪問端口。
因為公網IP是在路由器上的,外網訪問時,需要經過路由,需要在路由器上做端口映射,將內網mysql數據庫訪問端口打通。路由器端口映射位置:轉發(fā)規(guī)則/虛擬服務器/添加允許外網訪問端口和協議。我的mysql數據庫端口是默認的3306,我內網對應mysql數據庫主機的內網IP地址是192.168.1.22。
請點擊輸入圖片描述
外網訪問時,使用動態(tài)解析域名。
在外網訪問mysql數據庫時,使用動態(tài)解析域名進行連接訪問。域名是不變的,可以上網即可訪問,再也不擔心動態(tài)公網IP變化的問題。
請點擊輸入圖片描述
第一:更改 “mysql” 數據庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'。 \x0d\x0a或者新加條記錄,“host” 項為要訪問的ip地址,并授權。重啟mysql服務。 \x0d\x0a第二:在系統防火墻添加例外端口:3306,并允許例外。 \x0d\x0a\x0d\x0a錯誤提示: \x0d\x0aERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server \x0d\x0a的解決方法: \x0d\x0a1。改表法??赡苁悄愕膸ぬ柌辉试S從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%" \x0d\x0a1.mysql -u root -pvmware\x0d\x0amysqluse mysql;\x0d\x0amysqlupdate user set host = '%' where user = 'root';\x0d\x0amysqlselect host, user from user; \x0d\x0a\x0d\x0a2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。 \x0d\x0a\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; \x0d\x0a如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務器,并使用mypassword作為密碼 \x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; \x0d\x0a\x0d\x0a3.在window自帶的防火墻里的例外添加3306端口 \x0d\x0a\x0d\x0a總結: \x0d\x0amysql -u root -p \x0d\x0amysqluse mysql; \x0d\x0amysqlselect 'host' from user where user='root'; \x0d\x0amysqlupdate user set host = '%' where user ='root'; \x0d\x0amysqlflush privileges; \x0d\x0amysqlselect 'host' from user where user='root'; \x0d\x0a第一句是以權限用戶root登錄 \x0d\x0a第二句:選擇mysql庫 \x0d\x0a第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱) \x0d\x0a第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址 \x0d\x0a第五句:刷新MySQL的系統權限相關表 \x0d\x0a第六句:再重新查看user表時,有修改。。 \x0d\x0a重起mysql服務即可完成。
mysql(mariadb)通過遠程訪問,需要在數據庫中配置用來遠程訪問的賬號、密碼、IP地址
通過命令:
其中:
remoteuser是用來遠程訪問的用戶名,你可以自己定義,也建議自己定義而不要用默認的root。
123.123.123.%是你客戶端的IP地址段,也可以直接給定具體的IP地址,看你的需求。我這里是家庭寬帶,有可能每次上網IP不同,但基本上都在一個段內,所以我這里采用IP地址段。
password替換成你的密碼。
flush privileges;用來刷新數據庫。
這樣,在遠程的客戶端,在訪問工具里配置好遠程的信息,就可以訪問遠程數據庫服務器了。
比如用Navicat:
賬號:remoteuser
密碼:password
ip:服務器的IP
端口:3306
以上是在數據庫層面打開遠程訪問,如果在服務器層面有對端口的限制,也需要打開相應的設置。
原文鏈接:
一、連接遠程數據庫:
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
mysqlupdate
user
set
host
=
'%'
where
user
=
'root';
mysqlselect
host,
user
from
user;
二、授權法
例如:
你想myuser使用mypassword(密碼)從任何主機連接到mysql服務器的話。
mysqlGRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'%'IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,并使用mypassword作為密碼
mysqlGRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'192.168.1.3'IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
mysqlFLUSH
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)
上例中l(wèi)oadb116是主機名.
解決方法:
1、這時可以使用:mysql
-u
root
-p
登錄,進入到mysql后。
mysql
grant
all
privileges
on
*.*
to
'root'@'loadb116'
identified
by
'123456'
with
grant
option;
Query
OK,
rows
affected
(0.00
sec)
mysql
flush
privileges;
Query
OK,
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