時間:2019-09-16 14:57:59 作者:無名 瀏覽量:60
大家好,小編是個電腦軟件控,隨著網(wǎng)絡的普及,基于網(wǎng)絡的應用也越來越多。網(wǎng)絡數(shù)據(jù)庫便是其中之一。經(jīng)過一臺或幾臺服務器能夠為許多客戶供給服務,這種方式給人們帶來了許多方便,但也給不法分子形成了待機而動。由于數(shù)據(jù)都是經(jīng)過網(wǎng)絡傳輸?shù),這就能夠在傳輸?shù)倪M程中被截獲,或者經(jīng)過十分手法進入數(shù)據(jù)庫。由于以上原因,數(shù)據(jù)庫安全就顯得十分重要。因而,本文就以上問題評論了MySQL數(shù)據(jù)庫在網(wǎng)絡安全方面的一些功用。
帳戶安全
帳戶是MySQL最簡略的安全措施。每一帳戶都由用戶名、暗碼以及方位(一般由服務器名、IP或通配符)組成。如用戶john從server1進行登錄或許和john從server2登錄的權(quán)限不同。
MySQL的用戶結(jié)構(gòu)是用戶名/暗碼/方位。這其中并不包含數(shù)據(jù)庫名。下面的兩條指令為database1和database2設(shè)置了SELECT用戶權(quán)限。
GRANT SELECT ON database1.* to \'abc\'@\'server1\' IDENTIFIED BY \'password1\';
GRANT SELECT ON database2.* to \'abc\'@\'server1\' IDENTIFIED BY \'password2\';
第一條指令設(shè)置了用戶abc在連接數(shù)據(jù)庫database1時運用password1。第二條指令設(shè)置了用戶abc在連接數(shù)據(jù)庫database2時運用password2。因而,用戶abc在連接數(shù)據(jù)庫database1和database2的暗碼是不一樣的。
上面的設(shè)置是十分有用的。假如你只想讓用戶對一個數(shù)據(jù)庫進行有限的拜訪,而對其它數(shù)據(jù)庫不能拜訪,這樣能夠?qū)ν粋用戶設(shè)置不同的暗碼。假如不這樣做,當用戶發(fā)現(xiàn)這個用戶名能夠拜訪其它數(shù)據(jù)庫時,那將會形成麻煩。
MySQL運用了許多授權(quán)表來跟蹤用戶和這些用戶的不同權(quán)限。這些表便是在mysql數(shù)據(jù)庫中的MyISAM表。將這些安全信息保存在MySQL中是十分有意義的。因而,咱們能夠運用標準的SQL來設(shè)置不同的權(quán)限。
一般在MySQL數(shù)據(jù)庫中能夠運用3種不同類型的安全檢查:
·登錄驗證
也便是最常用的用戶名和暗碼驗證。一但你輸入了正確的用戶名和暗碼,這個驗證就可經(jīng)過。
·授權(quán)
在登錄成功后,就要求對這個用戶設(shè)置它的詳細權(quán)限。如是否能夠刪除數(shù)據(jù)庫中的表等。
·拜訪控制
這個安全類型更詳細。它涉及到這個用戶能夠?qū)?shù)據(jù)表進行什么樣的操作,如是否能夠修改數(shù)據(jù)庫,是否能夠查詢數(shù)據(jù)等等。
拜訪控制由一些特權(quán)組成,這些特權(quán)涉及到所何運用和操作MySQL中的數(shù)據(jù)。它們都是布爾型,即要么答應,要么不答應。下面是這些特權(quán)的列表:(www.002pc.com)
·SELECT
SELECT是設(shè)定用戶是否能夠運用SELECT來查詢數(shù)據(jù)。假如用戶沒有這個特權(quán),那么就只能履行一些簡略的SELECT指令,如核算表達式(SELECT 1+2),或是日期轉(zhuǎn)換(SELECT Unix_TIMESTAMP(NOW( )))等。
·INSERT
·UPDATE
·INDEX
MySQL數(shù)據(jù)庫中的安全解決方法教程圖2
INDEX決議用戶是否能夠?qū)Ρ淼乃饕M行設(shè)置。假如用戶沒有這個權(quán)限,那么將無法設(shè)置表中的索引。
·ALTER
·CREATE
·GRANT
假如一個用戶擁有這個GRANT權(quán)限,那么他就能夠?qū)⒆约旱臋?quán)限授給別的用戶。也便是說,這個用戶能夠和其它用戶同享自己的權(quán)限。
·REFERENCES
有了REFERENCES權(quán)限,用戶就能夠?qū)⑵渌淼囊粋字段作為某一個表的外鍵束縛。
除了以上的權(quán)限外,MySQL還有一些權(quán)限能夠?qū)φ麄MySQL進行操作。
·Reload
這個權(quán)限能夠運用戶有權(quán)履行各種FLUSH指令,如FLUSH TABLES,F(xiàn)LUSH STATUS等。
·Shutdown
這個權(quán)限答應用戶關(guān)閉MySQL