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

MySQL的23個須要留意的處所

編輯:MySQL綜合教程

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


應用MySQL,平安成績不克不及不留意。以下是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