程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫的23個留意事項

MySQL數據庫的23個留意事項

編輯:MySQL綜合教程

MySQL數據庫的23個留意事項。本站提示廣大學習愛好者:(MySQL數據庫的23個留意事項)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL數據庫的23個留意事項正文


1。假如客戶端和辦事器真個銜接須要逾越並經由過程弗成信賴的收集,那末就須要應用SSH地道來加密該銜接的通訊。

2。用set password語句來修正用戶的暗碼,三個步調,先“mysql -u root”上岸數據庫體系,然後“mysql> update mysql.user set password=password('newpwd')”,最初履行“flush privileges”便可以了。

3。須要防備的進擊有,防偷聽、改動、回放、謝絕辦事等,不觸及可用性和容錯方面。對一切的銜接、查詢、其他操作應用基於ACL即拜訪掌握列表的平安辦法來完成。也有一些對SSL銜接的支撐。

4。除root用戶外的其他任何用戶不許可拜訪mysql主數據庫中的user表;

加密後寄存在user表中的加密後的用戶暗碼一旦洩漏,其別人可以隨便用該用戶名/暗碼響應的數據庫;

5。用grant和revoke語句來停止用戶拜訪掌握的任務;

6。不應用明文暗碼,而是應用md5()和sha1()等單向的哈系函數來設置暗碼;

7。不選用字典中的字來做暗碼;

8。采取防火牆往來來往失落50%的內部風險,讓數據庫體系躲在防火牆前面任務,或放置在DMZ區域中;

9。從因特網上用nmap來掃描3306端口,也可用telnet server_host 3306的辦法測試,不克不及許可從非信賴收集中拜訪數據庫辦事器的3306號TCP端口,是以須要在防火牆或路由器上做設定;

10。為了避免被歹意傳入不法參數,例如where ID=234,他人卻輸出where ID=234 OR 1=1招致全體顯示,所以在web的表單中應用''或""來用字符串,在靜態URL中參加%22代表雙引號、%23代表井號、%27代表單引號;傳遞未檢 查過的值給mysql數據庫長短常風險的;

11。在傳遞數據給mysql時檢討一下年夜小;

12。運用法式須要銜接到數據庫應當應用普通的用戶帳號,只開放多數需要的權限給該用戶;

13。在各編程接口(C C++ PHP Perl Java JDBC等)中應用特定‘逃走字符'函數;

在因特網上應用mysql數據庫時必定罕用傳輸明文的數據,而用SSL和SSH的加密方法數據來傳輸;

14。學會應用tcpdump和strings對象來檢查傳輸數據的平安性,例如tcpdump -l -i eth0 -w -src or dst port 3306 | strings。以通俗用戶來啟動mysql數據庫辦事;

15。不應用到表的聯絡符號,選用的參數 --skip-symbolic-links;

16。確信在mysql目次中只要啟動數據庫辦事的用戶才可以對文件有讀和寫的權限;

17。不准將process或super權限付給非治理用戶,該mysqladmin processlist可以羅列出以後履行的查詢文本;super權限可用於割斷客戶端銜接、轉變辦事器運轉參數狀況、掌握拷貝復制數據庫的辦事器;

18.file權限不付給治理員之外的用戶,避免湧現load data '/etc/passwd'到表中再用select 顯示出來的成績;

19。假如不信任DNS辦事公司的辦事,可以在主機稱號許可表中只設置IP數字地址;

20。應用max_user_connections變量來使mysqld辦事過程,對一個指定帳戶限制銜接數;

21.grant語句也支撐資本掌握選項;

22。啟動mysqld辦事過程的平安選項開關,--local-infile=0 或1 若是0則客戶端法式就沒法應用local load data了,賦權的一個例子grant insert(user) on mysql.user to 'user_name'@'host_name';若應用--skip-grant-tables體系將對任何用戶的拜訪不做任何拜訪掌握,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟拜訪掌握;默許情形是show databases語句對一切用戶開放,可以用--skip-show-databases來封閉失落。

23。碰著Error 1045(28000) Access Denied for user 'root'@'localhost' (Using password:NO)毛病時,你須要從新設置暗碼,詳細辦法是:先用--skip-grant-tables參數啟動mysqld,然後履行 mysql -u root mysql,mysql>update user set password=password('newpassword') where user='root';mysql>Flush privileges;,最初從新啟動mysql便可以了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved