時間:2019-09-16 14:57:59 作者:無名 瀏覽量:60
大家好,小編是個電腦軟件控,隨著網絡的普及,基于網絡的應用也越來越多。網絡數據庫便是其中之一。經過一臺或幾臺服務器能夠為許多客戶供給服務,這種方式給人們帶來了許多方便,但也給不法分子形成了待機而動。由于數據都是經過網絡傳輸的,這就能夠在傳輸的進程中被截獲,或者經過十分手法進入數據庫。由于以上原因,數據庫安全就顯得十分重要。因而,本文就以上問題評論了MySQL數據庫在網絡安全方面的一些功用。


帳戶安全
帳戶是MySQL最簡略的安全措施。每一帳戶都由用戶名、暗碼以及方位(一般由服務器名、IP或通配符)組成。如用戶john從server1進行登錄或許和john從server2登錄的權限不同。
MySQL的用戶結構是用戶名/暗碼/方位。這其中并不包含數據庫名。下面的兩條指令為database1和database2設置了SELECT用戶權限。
GRANT SELECT ON database1.* to \'abc\'@\'server1\' IDENTIFIED BY \'password1\';
GRANT SELECT ON database2.* to \'abc\'@\'server1\' IDENTIFIED BY \'password2\';
第一條指令設置了用戶abc在連接數據庫database1時運用password1。第二條指令設置了用戶abc在連接數據庫database2時運用password2。因而,用戶abc在連接數據庫database1和database2的暗碼是不一樣的。
上面的設置是十分有用的。假如你只想讓用戶對一個數據庫進行有限的拜訪,而對其它數據庫不能拜訪,這樣能夠對同一個用戶設置不同的暗碼。假如不這樣做,當用戶發現這個用戶名能夠拜訪其它數據庫時,那將會形成麻煩。
MySQL運用了許多授權表來跟蹤用戶和這些用戶的不同權限。這些表便是在mysql數據庫中的MyISAM表。將這些安全信息保存在MySQL中是十分有意義的。因而,咱們能夠運用標準的SQL來設置不同的權限。
一般在MySQL數據庫中能夠運用3種不同類型的安全檢查:
·登錄驗證
也便是最常用的用戶名和暗碼驗證。一但你輸入了正確的用戶名和暗碼,這個驗證就可經過。
·授權
在登錄成功后,就要求對這個用戶設置它的詳細權限。如是否能夠刪除數據庫中的表等。
·拜訪控制
這個安全類型更詳細。它涉及到這個用戶能夠對數據表進行什么樣的操作,如是否能夠修改數據庫,是否能夠查詢數據等等。
拜訪控制由一些特權組成,這些特權涉及到所何運用和操作MySQL中的數據。它們都是布爾型,即要么答應,要么不答應。下面是這些特權的列表:(www.002pc.com)
·SELECT
SELECT是設定用戶是否能夠運用SELECT來查詢數據。假如用戶沒有這個特權,那么就只能履行一些簡略的SELECT指令,如核算表達式(SELECT 1+2),或是日期轉換(SELECT Unix_TIMESTAMP(NOW( )))等。
·INSERT
·UPDATE
·INDEX

MySQL數據庫中的安全解決方法教程圖2
INDEX決議用戶是否能夠對表的索引進行設置。假如用戶沒有這個權限,那么將無法設置表中的索引。
·ALTER
·CREATE
·GRANT
假如一個用戶擁有這個GRANT權限,那么他就能夠將自己的權限授給別的用戶。也便是說,這個用戶能夠和其它用戶同享自己的權限。
·REFERENCES
有了REFERENCES權限,用戶就能夠將其它表的一個字段作為某一個表的外鍵束縛。
除了以上的權限外,MySQL還有一些權限能夠對整個MySQL進行操作。
·Reload
這個權限能夠運用戶有權履行各種FLUSH指令,如FLUSH TABLES,FLUSH STATUS等。
·Shutdown
這個權限答應用戶關閉MySQL