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

MySQL數據庫的安全配置實操

編輯:MySQL綜合教程

以下文章主要是介紹MySQL數據庫的安全配置的實際操作的介紹 ,本文例舉了相關的實例,當然這些實例都是在MySQL數據庫的安全配置的實際操作中經常出現的,如果你是數據庫的熱捧者。那麼下面的文章對於你而言一定很有意義。

關鍵字: MySQL內核 數據庫安全配置 用戶認證模塊 密碼恢復 存儲過程編寫 MySQL數據庫索引

內容摘要:

由於MySQL是多平台的數據庫,它的默認配置要考慮各種情況下都能適用,所以在我們自己的使用環境下應該進行進一步的安全加固。作為一個MySQL的系統管理員,我們有責任維護MySQL數據庫系統的數據安全性和完整性。

如果啟動MySQL數據庫的用戶是mysql,那麼象如下的目錄和文件的是安全的,請注意數據目錄及下面的屬性: 

  1. shell>ls-l/usr/local/mysql  
  2. total40  
  3. drwxrwxr-x2rootroot4096Feb2720:07bin  
  4. drwxrwxr-x3rootroot4096Feb2720:07include  
  5. drwxrwxr-x2rootroot4096Feb2720:07info  
  6. drwxrwxr-x3rootroot4096Feb2720:07lib  
  7. drwxrwxr-x2rootroot4096Feb2720:07libexec  
  8. drwxrwxr-x3rootroot4096Feb2720:07man  
  9. drwxrwxr-x6rootroot4096Feb2720:07mysql-test  
  10. drwxrwxr-x3rootroot4096Feb2720:07share  
  11. drwxrwxr-x7rootroot4096Feb2720:07sql-bench  
  12. drwx------4mysqlmysql4096Feb2720:07var  
  13. shell>ls-l/usr/local/mysql/var  
  14. total8  
  15. drwx------2mysqlmysql4096Feb2720:08mysql  
  16. drwx------2mysqlmysql4096Feb2720:08test  
  17. shell>ls-l/usr/local/mysql/var/mysql  
  18. total104  
  19. -rw-------1mysqlmysql0Feb2720:08columns_priv.MYD  
  20. -rw-------1mysqlmysql1024Feb2720:08columns_priv.MYI  
  21. -rw-------1mysqlmysql8778Feb2720:08columns_priv.frm  
  22. -rw-------1mysqlmysql302Feb2720:08db.MYD  
  23. -rw-------1mysqlmysql3072Feb2720:08db.MYI  
  24. -rw-------1mysqlmysql8982Feb2720:08db.frm  
  25. -rw-------1mysqlmysql0Feb2720:08func.MYD  
  26. -rw-------1mysqlmysql1024Feb2720:08func.MYI  
  27. -rw-------1mysqlmysql8641Feb2720:08func.frm  
  28. -rw-------1mysqlmysql0Feb2720:08host.MYD  
  29. -rw-------1mysqlmysql1024Feb2720:08host.MYI  
  30. -rw-------1mysqlmysql8958Feb2720:08host.frm  
  31. -rw-------1mysqlmysql0Feb2720:08tables_priv.MYD  
  32. -rw-------1mysqlmysql1024Feb2720:08tables_priv.MYI  
  33. -rw-------1mysqlmysql8877Feb2720:08tables_priv.frm  
  34. -rw-------1mysqlmysql428Feb2720:08user.MYD  
  35. -rw-------1mysqlmysql2048Feb2720:08user.MYI  
  36. -rw-------1mysqlmysql9148Feb2720:08user.frm 

如果這些文件的屬主及屬性不是這樣,請用以下兩個命令修正之:

  1. shell>chown-Rmysql.mysql/usr/local/mysql/var  
  2. shell>chmod-Rgo-rwx/usr/local/mysql/var 

用root用戶啟動遠程服務一直是安全大忌,因為如果服務程序出現問題,遠程攻擊者極有可能獲得主機的完全控制權。MySQL從3.23.15版本開始時作了小小的改動,默認安裝後服務要用mysql用戶來啟動,不允許root用戶啟動。

如果非要用root用戶來啟動,必須加上--user=root的參數(./safe_mysqld --user=root &)。因為MySQL中有LOAD DATA INFILE和SELECT ... INTO OUTFILE的SQL語句,如果是root用戶啟動了MySQL服務器,那麼,MySQL數據庫用戶就擁有了root用戶的寫權限。不過MySQL還是做了一些限制的,比如LOAD DATA INFILE只能讀全局可讀的文件,SELECT ... INTO OUTFILE不能覆蓋已經存在的文件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved