Mysql遠(yuǎn)程連接本質(zhì)
最近在弄mysql遠(yuǎn)程連接。因?yàn)閷?duì)MySQL數(shù)據(jù)不熟,再加上網(wǎng)上的答案很籠統(tǒng),寫答案是對(duì)的,但表達(dá)的意思很模糊.下面是學(xué)習(xí)啦小編跟大家分享的是Mysql遠(yuǎn)程連接本質(zhì),歡迎大家來閱讀學(xué)習(xí)。
Mysql遠(yuǎn)程連接本質(zhì)
方法/步驟
先說本質(zhì)。在mysql數(shù)據(jù)庫(kù)里面。有個(gè)表,叫user。里面存放的便是登錄用戶的信息。如果是命名行則可以通過 use mysql; show tables;2個(gè)命名語(yǔ)句顯示出user表*(在最末尾)。
在user表里前2列有Host,User 2列。默認(rèn)對(duì)應(yīng)的是localhost,User。
在這里Host的值便是數(shù)據(jù)庫(kù)訪問權(quán)限。loaclhost指的是本機(jī)的意思。也就是只有本機(jī)可以訪問該數(shù)據(jù)庫(kù)。
查看cmd命名 select user,host from mysql.user;(如果已經(jīng)是使用了use mysql.則直接from user);
說到這里,大家就應(yīng)該知道了。數(shù)據(jù)庫(kù)訪問權(quán)限由在這個(gè)Host列決定。所以,接下來我們只需要把localhost換成我們想要的ip或者開發(fā)全部ip(% 等于數(shù)據(jù)庫(kù)允許所以的ip鏈接)
修改方法,可視化直接修改。 CMD命名: update user set host = '%' where user = 'root'; (為了確保修改成功,可執(zhí)行上面查看語(yǔ)句);
修改成功后,host = %,user =root。 到這兒就還差一個(gè)重要的權(quán)限賦予了;
執(zhí)行(CMD與可視化均執(zhí)行)這句話:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '這里面填你的mysql密碼' WITH GRANT OPTION
這句的意思是。予任何主機(jī)訪問數(shù)據(jù)的權(quán)限 。
至此權(quán)限開放成功。
最后一個(gè)步驟便是 讓你的修改生效:
FLUSH PRIVILEGES ;
然后退出即可。
下面貼上步驟以及圖解
1、進(jìn)入mysql數(shù)據(jù)庫(kù)
mysql -u root -p;
2、找到mysql.user表
select user,host from mysql.user;
3、修改表 Host項(xiàng)
update user set host = '%' where user = 'root';
(可查看確定修改成功沒有 select user,host from mysql.user;)
4、給與任何主機(jī)訪問數(shù)據(jù)的權(quán)限。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '這里面填你的mysql密碼' WITH GRANT OPTION
5、讓你的修改生效:
FLUSH PRIVILEGES ;
Mysql遠(yuǎn)程連接本質(zhì)相關(guān)文章:
1.怎么解決mysql不允許遠(yuǎn)程連接的錯(cuò)誤
2.mysql怎么設(shè)置遠(yuǎn)程連接數(shù)據(jù)庫(kù)
3.mysql局域網(wǎng)如何開啟遠(yuǎn)程連接
4.mysql數(shù)據(jù)庫(kù)允許遠(yuǎn)程連接