国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL 開啟與關閉遠程訪問

2024-07-24 12:59:31
字體:
來源:轉載
供稿:網友
MySQL 開啟與關閉遠程訪問(1)通過MySQL用戶去限制訪問權限系統(tǒng)目的:MySQL基于安全考慮root賬戶一般只能本地訪問,但是在開發(fā)過程中可能需要打開root的遠程訪問權限,今天介紹的就是如何開啟和關閉Mysql遠程訪問MySQL權限系統(tǒng)的主要功能是證實連接到一臺給定主機的用戶,并且賦予該用戶在數(shù)據(jù)庫上的SELECT、INSERT、UPDATE和DELETE權限。 附加的功能包括有匿名的用戶并對于MySQL特定的功能例如LOAD DATA INFILE進行授權及管理操作的能力。權限系統(tǒng)原理:MySQL權限系統(tǒng)保證所有的用戶只執(zhí)行允許做的事情。當你連接MySQL服務器時,你的身份由你從那兒連接的主機和你指定的用戶名來決定。連接后發(fā)出請求后,系統(tǒng)根據(jù)你的身份和你想做什么來授予權限。MySQL在認定身份中考慮你的主機名和用戶名字,是因為幾乎沒有原因假定一個給定的用戶在因特網上屬于同一個人。例如,從office.com連接的用戶joe不一定和從elsewhere.com連接的joe是同一個人。MySQL通過允許你區(qū)分在不同的主機上碰巧有同樣名字的用戶來處理它:你可以對joe從office.com進行的連接授與一個權限集,而為joe從elsewhere.com的連接授予一個不同的權限集。階段1:服務器檢查是否允許你連接。 階段2:假定你能連接,服務器檢查你發(fā)出的每個請求。看你是否有足夠的權限實施它。例如,如果你從數(shù)據(jù)庫表中選擇(select)行或從數(shù)據(jù)庫刪除表,服務器確定你對表有SELECT權限或對數(shù)據(jù)庫有DROP權限。 如果連接時你的權限被更改了(通過你和其它人),這些更改不一定立即對你發(fā)出的下一個語句生效。MySQL權限是保存在cache中,這個時候就你需要執(zhí)行flush PRivileges;開啟遠程訪問:- 更新用戶use mysql;update user set host = "%" where user = "root";flush privileges;- 添加用戶use mysql;insert into user(host, user, passWord) values("%", "root", password("yourpassword"))grant all privileges on *.* to 'root'@'%' with grant option #賦予任何主機訪問數(shù)據(jù)庫權限flush privileges;關閉遠程訪問:use mysql;update user set host = "localhost" where user = "root" and host= "%";flush privileges;查看用戶權限:use information_schema;select * from user_privileges;查看當前mysql用戶:use mysql;select user, host from user;更新用戶:update mysql.user set password=password('新密碼') where User="phplamp" and Host="localhost";flush privileges;刪除用戶:DELETE FROM user WHERE User="phplamp" and Host="localhost";flush privileges;user host指定方法:Host值可以是主機名或ip號,或’localhost’指出本地主機。你可以在Host列值使用通配符字符“%”和“_”。host值’%’匹配任何主機名,空Host值等價于’%’。它們的含義與LIKE操作符的模式匹配操作相同。例如,’%’的Host值與所有主機名匹配,而’%.mysql.com’匹配mysql.com域的所有主機。ip地址例子:192.0.0.0/255.0.0.0(192 A類網絡的任何地址)192.168.0.0/255.255.0.0(192.168 A類網絡的任何地址)192.168.1.0/255.255.255.0(192.168.1 C類網絡的任何地址)192.168.1.1(只有該IP)mysql doc:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html(2)通過IpTableiptables是一款防火墻軟件。它在Ubuntu系統(tǒng)中是默認安裝的。通常情況下,iptables隨系統(tǒng)一起被安裝,但沒有對通信作任何限制,因此防火墻并沒有真正建立起來。iptables幫助:sudo iptables -h #下面全部使用root用戶調用指令查看iptables:iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination可以看到,上面規(guī)則都是空的允許已建立的連接接收數(shù)據(jù):iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT開放指定的端口:接下來,我們可以嘗試開放 ssh 22端口,告訴iptables允許接受到所有目標端口為22的tcp報文通過iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT執(zhí)行上面的命令,一條規(guī)則會被追加到INPUT規(guī)則表的末尾(-A表示追加)。根據(jù)這條規(guī)則,對所有從接口eth0(-i指出對通過哪個接口的報文運用此規(guī)則)接收到的目標端口為22的報文,iptables要執(zhí)行ACCEPT行動(-j指明當報文與規(guī)則相匹配時應采取的行動)。開放80端口:iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT這時,你再次去看看規(guī)則表中內容,你會發(fā)現(xiàn)有iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDACCEPT tcp -- anywhere anywhere tcp dpt:sshACCEPT tcp -- anywhere anywhere tcp dpt:www通過上述命令,我們已經代開了SSH和web服務的相應的端口,但由于沒有阻斷任何通信,因此所有的報文都能通過,所以接下來,我們就可以嘗試阻斷3306 mysql端口阻斷通訊:iptables -A INPUT -p tcp -i eth0 --dport 3306 -j DROP通過這樣指令,就可以阻斷任何訪問3306報文,但是這樣就有一個問題,就是可能連我們自己信任的主機都無法訪問mysql了,所以,我們需要編輯下iptables,添加特定允許訪問的主機iptables -I INPUT 4 -p tcp -s ip_address -i eth0 --dport 3306 -j ACCEPT好了,通過上面,我們把該指令插入到規(guī)則表里第四行,然后允許特定ip訪問3306端口Logging記錄:如果希望被丟失的報文記錄到syslog中,最簡單的方法可以這樣做:iptables -I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7保存設置:機器重啟后,iptables中的配置信息會被清空。您可以將這些配置保存下來,讓iptables在啟動時自動加載,省得每次都得重新輸入。iptables-save和iptables-restore 是用來保存和恢復設置的。先將防火墻規(guī)則保存到/etc/iptables.up.rules文件中iptables-save > /etc/iptables.up.rules然后修改腳本/etc/network/interfaces,使系統(tǒng)能自動應用這些規(guī)則(最后一行是我們手工添加的)。auto eth0iface eth0 inet dhcppre-up iptables-restore < /etc/iptables.up.rules當網絡接口關閉后,您可以讓iptables使用一套不同的規(guī)則集。auto eth0iface eth0 inet dhcppre-up iptables-restore < /etc/iptables.up.rulespost-down iptables-restore < /etc/iptables.down.rules技巧(Tips):大多數(shù)人并不需要經常改變他們的防火墻規(guī)則,因此只要根據(jù)前面的介紹,建立起防火墻規(guī)則就可以了。但是如果您要經常修改防火墻規(guī)則,以使其更加完善,那么您可能希望系統(tǒng)在每次重啟前將防火墻的設置保存下來。為此您可以在/etc/network/interfaces文件中添加一行:pre-up iptables-restore < /etc/iptables.up.rulespost-down iptables-save > /etc/iptables.up.rules
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 湟中县| 襄城县| 普兰县| 兴宁市| 织金县| 成安县| SHOW| 沙雅县| 富锦市| 左云县| 崇礼县| 田林县| 青州市| 上杭县| 中阳县| 宽甸| 孙吴县| 华坪县| 襄城县| 牟定县| 黄浦区| 美姑县| 呼伦贝尔市| 沂南县| 白水县| 正镶白旗| 庆云县| 罗山县| 九江县| 涿州市| 镇赉县| 新巴尔虎左旗| 咸丰县| 海宁市| 襄汾县| 鄱阳县| 工布江达县| 通城县| 富宁县| 什邡市| 昌吉市|