在Ubuntu/Linux環(huán)境下使用MySQL開放/修改3306端口和開放訪問權(quán)限
操作系統(tǒng):Ubuntu 17.04 64位
MySQL版本:MySQL 5.7
一、查看3306端口是否開放
netstat -an|grep 3306
如果看到下圖這樣的,說明端口并未打開:
二、修改訪問權(quán)限
進入目錄“etc/mysql/mysql.conf.d/”,如下圖所示:
在這個目錄下,有一個配置文件“mysqld.cnf”,如下圖所示:
打開這個配置文件:
sudo vim mysqld.cnf
文件打開后有一大段注釋說明,不用去管它,直接看到下圖中的部分:
注意上圖中的第一行紅色的注釋:
“By default we only accept connections from localhost”,這幾句話的意思是說“在默認情況下我們只允許本地服務(wù)訪問MySQL”,所以我們需要注釋掉下方那條配置,直接在它前面加上一個井號即可:
# bind-address = 127.0.0.1
如下圖所是,這條配置也變成了注釋:
拓展一下思路,如果我們出于安全考慮,希望限制只有某臺應(yīng)用服務(wù)器可以訪問MySQL的話,那么其實就需要調(diào)整這條配置項就可以了。
三、修改端口號
還是這個配置文件,看到這個配置文件的中間部分的配置項:
我們需要在其中增加一條端口配置:
port = 3306
加完以后整個配置文件看起來是這樣的:
修改完文件之后記得保存。
四、開放root賬戶的訪問權(quán)限
在第三步中,我們僅僅只是取消了本地訪問限制,但是我們還是沒有對賬戶權(quán)限進行設(shè)置。
重啟MySQL服務(wù),并進入MySQL控制臺:
service mysql stop service mysql start
mysql -h 127.0.0.1 -u root -p
切換到系統(tǒng)數(shù)據(jù)庫“mysql”中:
use mysql;
查看一下該數(shù)據(jù)庫中的所有的表:
show tables;
我們要修改上圖中的最后一張表“user”,看一下這張表有哪些字段:
desc user;
字段非常多,就不一一羅列了。我們要用到的只是“Host”和“User”兩個字段而已:
select host,user from user;
在這張表里,我們看到root用戶僅僅只能在本地訪問MySQL服務(wù),所以我們要把它修改為“%”,意思是無論在哪里root賬戶都能夠訪問數(shù)據(jù)庫服務(wù):
update user set host='%' where user='root';
注意,在真實的生產(chǎn)環(huán)境中,并不建議這么修改,因為安全風(fēng)險太大。我建議根據(jù)實際情況將root用戶的host項修改為某個指定的ip地址,或仍然保持localhost
最后一項設(shè)置,開放root賬戶所有權(quán)限:
grant all privileges on *.* to 'root'@'%' identified by '你的root賬戶密碼';
使各種權(quán)限設(shè)置立即生效:
flush privileges;
五、再次確認3306端口狀態(tài)
netstat -an|grep 3306
如果看到下圖這樣,就可以了:
到此這篇關(guān)于在Ubuntu/Linux環(huán)境下使用MySQL開放/修改3306端口和開放訪問權(quán)限的文章就介紹到這了,更多相關(guān)Linux下MySQL開放3306和開放訪問權(quán)限內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。