一、連接遠程數(shù)據(jù)庫:
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設公司提供網(wǎng)站設計和自適應建站服務。團隊由有經(jīng)驗的網(wǎng)頁設計師、程序員和市場專家組成,能夠提供從H5頁面制作,網(wǎng)站制作,廣告投放,模板建站到小程序制作等全方位服務。 以客戶為中心,致力于為客戶提供創(chuàng)新、高效的解決方案,幫助您打造成功的企業(yè)網(wǎng)站。
1、顯示密碼
如:MySQL 連接遠程數(shù)據(jù)庫(192.168.5.116),端口“3306”,用戶名為“root”,密碼“123456”
C:/mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地數(shù)據(jù)庫,用戶名為“root”,
C:/mysql -h localhost -u root -p
Enter password:
二、配置mysql允許遠程鏈接
默認情況下,mysql帳號不允許從遠程登陸,只能在localhost登錄。本文提供了二種方法設置mysql可以通過遠程主機進行連接。
一、改表法
在localhost登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "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, 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
mysql開啟遠程連接:
以 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 ?這行注掉
重啟數(shù)據(jù)庫
service mysql restart
請點擊輸入圖片描述
本地測試連接3306端口
telnet 192.168.1.77 3306 ? 若已連通
確定已安裝mysql客戶端which mysql
/usr/bin/mysql
然后mysql -uwang -h192.168.1.77 -p ?看能否登錄
請點擊輸入圖片描述
外網(wǎng)如何利用網(wǎng)絡輔助nat123實現(xiàn)訪問內網(wǎng)mysql數(shù)據(jù)庫?
網(wǎng)絡環(huán)境:動態(tài)公網(wǎng)IP。
明確mysql數(shù)據(jù)庫內網(wǎng)訪問地址端口,確保mysql數(shù)據(jù)庫服務正常,在內網(wǎng)可以正常訪問連接。內網(wǎng)使用nat123動態(tài)域名解析。內網(wǎng)服務器安裝nat123客戶端,并使用它。登陸。進入主面板/域名解析列表/添加域名。選擇動態(tài)域名解析記錄,使用二級域名,或自己的域名。鼠標放在輸入框有向導提示。
請點擊輸入圖片描述
路由器端口映射,路由映射mysql數(shù)據(jù)庫訪問端口。
因為公網(wǎng)IP是在路由器上的,外網(wǎng)訪問時,需要經(jīng)過路由,需要在路由器上做端口映射,將內網(wǎng)mysql數(shù)據(jù)庫訪問端口打通。路由器端口映射位置:轉發(fā)規(guī)則/虛擬服務器/添加允許外網(wǎng)訪問端口和協(xié)議。我的mysql數(shù)據(jù)庫端口是默認的3306,我內網(wǎng)對應mysql數(shù)據(jù)庫主機的內網(wǎng)IP地址是192.168.1.22。
請點擊輸入圖片描述
外網(wǎng)訪問時,使用動態(tài)解析域名。
在外網(wǎng)訪問mysql數(shù)據(jù)庫時,使用動態(tài)解析域名進行連接訪問。域名是不變的,可以上網(wǎng)即可訪問,再也不擔心動態(tài)公網(wǎng)IP變化的問題。
請點擊輸入圖片描述
默認情況下,mysql只允許本地登錄,如果要開啟遠程連接,則需要修改/etc/mysql/my.conf文件。
一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1這一行
改為bind-address = 0.0.0.0即可
二、為需要遠程登錄的用戶賦予權限
1、新建用戶遠程連接mysql數(shù)據(jù)庫
grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;
允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶和密碼(123456)來訪問這個mysql server。
注意admin賬戶不一定要存在。
2、支持root用戶允許遠程連接mysql數(shù)據(jù)庫
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
三、查看系統(tǒng)用戶