時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
當你連接一個MySQL服務(wù)器時,你通常應(yīng)該使用一個口令。口令不以明文在連接上傳輸。所有其它信息作為能被任何人讀懂的文本被傳輸。如果你擔心這個,你可使用壓縮協(xié)議(MySQL3.22和以上版本)使事情變得更難。甚至為了使一切更安全,你應(yīng)該安裝ssh。用它,你能在一個MySQL服務(wù)器與一個MySQL客戶之間得到一個加密的tcp/ip連接。
為了使一個MySQL系統(tǒng)安全,強烈要求你考慮下列建議:
對所有MySQL用戶使用口令。記住,如果other_user沒有口令,任何人能簡單地用MySQL -u other_user db_name作為任何其它的人登錄。對客戶機/服務(wù)器應(yīng)用程序,客戶可以指定任何用戶名是常見的做法。在你運行它以前,你可以通過編輯MySQL_install_db腳本改變所有用戶的口令,或僅僅MySQL root的口令像這樣:
shell> mysql -u root mysql mysql> update user
set password=password("new_password")
where user="root"; mysql> flush privileges;
不要作為Unix的root用戶運行MySQL守護進程。mysqld能以任何用戶運行,你也可以創(chuàng)造一個新的Unix用戶MySQL使一切更安全。如果你作為其它Unix用戶運行mysqld,你不需要改變在user表中的root用戶名,因為Mysql用戶名與unix 用戶名沒關(guān)系。你可以作為其它unix用戶編輯mysql.server啟動腳本mysqld。通常這用su命令完成。
如果你把一個Unix root用戶口令放在mysql.server腳本中,確保這個腳本只能對root是可讀的。
檢查那個運行Mysqld的Unix用戶是唯一的在數(shù)據(jù)庫目錄下有讀/寫權(quán)限的用戶。
不要把process權(quán)限給所有用戶。mysqladmin processlist的輸出顯示出當前執(zhí)行的查詢正文,如果另外的用戶發(fā)出一個update user set password=password("not_secure")查詢,被允許執(zhí)行那個命令的任何用戶可能看得到。mysqld為有process權(quán)限的用戶保留一個額外的連接, 以便一個mysql root用戶能登錄并檢查,即使所有的正常連接在使用。不要把file權(quán)限給所有的用戶。
有這權(quán)限的任何用戶能在擁有mysqld守護進程權(quán)限的文件系統(tǒng)那里寫一個文件!為了使這更安全一些,用select ... into outfile生成的所有文件對每個人是可讀的,并且你不能覆蓋已經(jīng)存在的文件。
file權(quán)限也可以被用來讀取任何作為運行服務(wù)器的unix用戶可存取的文件。這可能被濫用,例如,通過使用load data裝載"/etc/passwd"進一個數(shù)據(jù)庫表,然后它能用select被讀入。
如果你不信任你的dns,你應(yīng)該在授權(quán)表中使用IP數(shù)字而不是主機名。原則上講,--secure選項對mysqld應(yīng)該使主機名更安全。在任何情況下,你應(yīng)該非常小心地使用包含通配符的主機名。
關(guān)鍵詞標簽:MySQL,數(shù)據(jù)庫
相關(guān)閱讀
熱門文章 Xbox Game Pass 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL常用維護管理工具 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié)
人氣排行 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié) Mysql 1045錯誤解決辦法 MySQL服務(wù)器進程CPU占用100%解決辦法 MySQL導出導入命令的用例 MySQL連接字符串的實際操作步驟匯總 MySQL無法啟動、無法停止各種解決方法總結(jié) 三種常用的MySQL建表語句