通常我們在連接MySQL的服務(wù)器時,要使用到口令。這個口令在網(wǎng)絡(luò)上傳輸?shù)臅r候是加過密的。可是其它的內(nèi)容都是以明文的方式來進(jìn)行傳輸?shù)摹?/p>
當(dāng)然如果擔(dān)心這個不安全的話,可以使用壓縮協(xié)議(MySQL3.22和以上版本),這樣可以讓其它的內(nèi)容不那么容易就被看到。甚至為了讓它更加安全,可以考慮下安裝ssh。裝上它之后,你就能在MySQL服務(wù)器與MySQL客戶之間,搭建一條加密的TCP/IP連接。
為了使你的MySQL系統(tǒng)更安全,強(qiáng)烈建議考慮以下建議:
1.為每個MySQL用戶使用口令。如果你不加設(shè)口令的話,其他人可以通過mysql --user other_user database的方式訪問你的數(shù)據(jù)庫,在使用MySQL進(jìn)行檢測的時候系統(tǒng)也會給你相應(yīng)的警告信息。
2.通過mysql_install_db腳本建立mySQL的授權(quán)表,你可以通過mysql -u root進(jìn)行測試,正確的情況下應(yīng)該不會發(fā)生錯誤。更改root的密碼:
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD( ew_password)
WHERE user= root;
mysql> FLUSH PRIVILEGES;
3.不要用root方式啟動MySQL服務(wù)。MySQL可以以任何用戶啟動。你可以通過添加一個新用戶的方式來啟動數(shù)據(jù)庫服務(wù)(也就是mysql低權(quán)限運行)。這也不會對系統(tǒng)造成任何影響,因為MySQL的用戶和Unix的用戶根本來說就使不同的。
4.如果你把Unix root用戶口令放在了mysql.server腳本中,那么必須確保這個腳本只對root是可讀的。檢查那個運行mysqld的用戶,確保這個用戶是唯一在數(shù)據(jù)庫目錄下有讀/寫權(quán)限的用戶。
5.不要把process權(quán)限給任何人。mysqladmin processlist的輸出會顯示出當(dāng)前正在執(zhí)行的查詢正文,這時如果有另外的用戶發(fā)出一個UPDATE user SET password=PASSWORD( ot_secure)查詢,則會被有process權(quán)限的用戶看得到查詢。mysqld為有process權(quán)限的用戶保留一個額外的連接, 以便一個MySQL root用戶能登錄并檢查,即使所有的正常連接在使用。
6.不要把file權(quán)限給所有的用戶。有這權(quán)限的用戶能在擁有mysqld守護(hù)進(jìn)程權(quán)限的文件系統(tǒng)那里寫一個文件! file權(quán)限也可以被用來讀取任何作為運行服務(wù)器的Unix用戶可存取的文件。這可能被利用,例如,通過使用LOAD DATA裝載"/etc/passwd"進(jìn)一個數(shù)據(jù)庫表,然后它能用SELECT被讀入。
7. 如果你不信任你的DNS,你應(yīng)當(dāng)使用IP來取代主機(jī)名。在任何情況下,你應(yīng)該非常小心地使用包含通配符的主機(jī)名!
相信通過以上的設(shè)置過后,你的Mysql主機(jī)應(yīng)該已經(jīng)相對比較安全,不是那么輕松就會讓人攻陷的。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com