Mysql默認是不可以通過遠程機器訪問的,通過下面的配置可以開啟遠程訪問
創(chuàng)新互聯公司是一家集網站建設,舞鋼企業(yè)網站建設,舞鋼品牌網站建設,網站定制,舞鋼網站建設報價,網絡營銷,網絡優(yōu)化,舞鋼網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
在MySQL Server端:
執(zhí)行mysql 命令進入mysql 命令模式,
Sql代碼
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server
#必須加類似這樣的帳戶,才可以遠程登陸。 root帳戶是無法遠程登陸的,只可以本地登陸
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server
#必須加類似這樣的帳戶,才可以遠程登陸。 root帳戶是無法遠程登陸的,只可以本地登陸
那么如何遠程訪問呢?
在另一臺MySQL 客戶端(裝有mysql程序包的pc ,windows或者是linux均可)
執(zhí)行命令:
Sql代碼
mysql -h172.21.5.29 -uadmin -padmin 即可了
//172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設置的遠程訪問帳戶
mysql -h172.21.5.29 -uadmin -padmin 即可了
//172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設置的遠程訪問帳戶
引用
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server
#必須加類似這樣的帳戶,才可以遠程登陸。 root帳戶是無法遠程登陸的,只可以本地登陸
我發(fā)現一個問題, 如果上面的命令你執(zhí)行完畢, 你在 本地就是localhost , 執(zhí)行 :
Sql代碼
mysql -hlocalhost -uadmin -padmin
mysql -hlocalhost -uadmin -padmin
結果是失敗的。
原來 上面的 % 竟然不包括localhost
所以你還必須加上這樣的 命令
mysqlGRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;
方法/步驟
1
在未配置MySQL之前,根據MySQL服務端的信息,用navicate客戶端進行連接測試,如圖一、圖二所示
2
在MySQL所在機器上登錄root用戶,如圖三所示
3
切換到mysql庫,并查看user表,如圖四所示
use mysql;
select host,user,password from user;
4
修改host列的用戶,建議修改localhost用戶,如圖五所示
執(zhí)行命令如下:
update user set host = '%' where host = 'localhost';
select host,user,password from user;
flush privileges;
5
再次用navicate客戶端進行連接測試,如圖六所示
END
FAQ
1
為什么只改一條呢?
因為%代表了任何ip地址均可以訪問此mysql庫,所以只有一條%記錄即可,多條無意義,如需根據不同的ip、不同用戶有不同的權限訪問,可設置為多條。
2
為什么只是修改某條user記錄,而不是insert一個用戶呢?
因為新增的用戶,相關權限是沒有的,如果新紀錄的各項都設置為Y,則權限過大,如果新紀錄的各項都設置為N,則權限過小,遠程登錄之后,無法進行其他操作。
第一步打開mysql客戶端,輸入連接密碼,按回車鍵。
第二步輸入“use mysql”,進去mysql數據庫
第三步輸入“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;”,創(chuàng)建一個允許遠程訪問的用戶,用戶名是root,密碼是123456
第四步輸入“flush privileges;”,進行更新權限,如下圖所示:
5/5
第五步更新權限之后,就可以遠程連接mysql數據庫了
希望可以幫到您,感謝您的采納。
MySQL基礎知識第一期,如何遠程訪問MySQL數據庫設置權限方法總結,討論訪問單個數據庫,全部數據庫,指定用戶訪問,設置訪問密碼,指定訪問主機。
1,設置訪問單個數據庫權限
復制代碼
代碼如下:
mysqlgrant
all
privileges
on
test.*
to
'root'@'%';
說明:設置用戶名為root,密碼為空,可訪問數據庫test
2,設置訪問全部數據庫權限
復制代碼
代碼如下:
mysqlgrant
all
privileges
on
*.*
to
'root'@'%';
說明:設置用戶名為root,密碼為空,可訪問所有數據庫*
3,設置指定用戶名訪問權限
復制代碼
代碼如下:
mysqlgrant
all
privileges
on
*.*
to
'liuhui'@'%';
說明:設置指定用戶名為liuhui,密碼為空,可訪問所有數據庫*
4,設置密碼訪問權限
復制代碼
代碼如下:
mysqlgrant
all
privileges
on
*.*
to
'liuhui'@'%'
IDENTIFIED
BY
'liuhui';
說明:設置指定用戶名為liuhui,密碼為liuhui,可訪問所有數據庫*
5,設置指定可訪問主機權限
復制代碼
代碼如下:
mysqlgrant
all
privileges
on
*.*
to
'liuhui'@'10.2.1.11';
說明:設置指定用戶名為liuhui,可訪問所有數據庫*,只有10.2.1.11這臺機器有權限訪問
還可以設置指定訪問某個數據庫下的某個數據表,請繼續(xù)關注MySQL基礎知識系列。
網站欄目:mysql怎么設置訪問 mysql如何設置
標題來源:http://muchs.cn/article44/dosjehe.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站策劃、云服務器、虛擬主機、定制網站、小程序開發(fā)、網站排名
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯