設(shè)置mysql服務(wù)允許外網(wǎng)訪問,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
成都創(chuàng)新互聯(lián)公司始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的網(wǎng)絡(luò)營銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都戶外休閑椅等企業(yè),備受客戶稱揚(yáng)。
1:設(shè)置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql restart;
2:登錄mysql數(shù)據(jù)庫:mysql -u root -p
mysql use mysql;
查詢host值:
mysql select user,host from user;
如果沒有"%"這個(gè)host值,就執(zhí)行下面這兩句:
mysql update user set host='%' where user='root';
mysql flush privileges;
或者也可以執(zhí)行:
mysqlgrand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個(gè)*表示數(shù)據(jù)庫名;第二個(gè)*表示該數(shù)據(jù)庫的表名;如果像上面那樣 *.*的話表示所有到數(shù)據(jù)庫下到所有表都允許訪問;
‘%':表示允許訪問到mysql的ip地址;當(dāng)然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
后面到‘xxxx'為root 用戶的password;
●客戶端訪問服務(wù)端
。利用Windows控制臺(tái)訪問(MySQL客戶端)
。利用數(shù)據(jù)庫管理工具(Navicat)
●客戶端需要連接認(rèn)證
。-h: 主機(jī)地址(本機(jī)localhost可以省略)
。-P: 端口號(hào)(默認(rèn)3306可以省略)
。-u: 用戶名
。-p: 用戶密碼
1、改表法。
可能是你的帳號(hào)不允許從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項(xiàng),從"localhost"改稱"%"
mysql -u root -pvmwaremysqluse mysql;
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
2、授權(quán)法。例如,你想myuser使用mypassword從任何主機(jī)連接到mysql服務(wù)器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一個(gè)方法,剛開始發(fā)現(xiàn)不行,在網(wǎng)上查了一下,少執(zhí)行一個(gè)語句 mysqlFLUSH RIVILEGES
使修改生效,就可以了
另外一種方法:
在安裝mysql的機(jī)器上運(yùn)行:
1、d:\mysql\bin\mysql -h localhost -u root
//這樣應(yīng)該可以進(jìn)入MySQL服務(wù)器
2、mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//賦予任何主機(jī)訪問數(shù)據(jù)的權(quán)限
3、mysqlFLUSH PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL服務(wù)器
這樣就可以在其它任何的主機(jī)上以root身份登錄啦。