MySQL安全配置詳解_MySQL教程
推薦:MySQL中實現高性能高并發計數器方案現在有很多的項目,對計數器的實現甚是隨意,比如在實現網站文章點擊數的時候,是這么設計數據表的,如:article_id, article_name, article_content, article_author, article_view在article_view中記錄該文章的瀏覽量。詐一看似乎沒有問題。對于小站,比如本博客,就
1. 前言
Mysql數據庫安全配置、或者叫加固屬于風險模型中的一環,它需要安全人員在理論和實踐的學習中不斷發現新的問題,并針對這些問題對數據的各個方面的配置進行強化。本文試圖圍繞著數據庫風險識別、數據庫安全加固這個問題,探討可以采取的措施來最大程度的保證我們的數據庫的安全控制處在一個較好的水平。
2. Mysql賬戶權限安全
mysql中存在4個控制權限的表,分別為
1. mysql.USER表
2. mysql.DB表
3. mysql.TABLES_PRIV表
4. mysql.COLUMNS_PRIV表
要注意的是,Mysql中有一個數據庫"information_schema",似乎里面保存的也是一些權限信息,但是要明白的是,這個數據庫"information_schema"是為系統管理員提供元數據的一個簡便方式,它實際上是一個視圖,可以理解為對Mysql中的一個信息的封裝,對于Mysql主程序來說,身份認證和授權的信息的來源只有一個,就是"mysql"。
http://www.cnblogs.com/hzhida/archive/2012/08/08/2628826.html
0×1. mysql.USER表
select * from USER;
desc USER;
mysql> desc USER;+-------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Password | char(41) | NO | | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Reload_priv | enum('N','Y') | NO | | N | |
| Shutdown_priv | enum('N','Y') | NO | | N | |
| Process_priv | enum('N','Y') | NO | | N | |
| File_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Show_db_priv | enum('N','Y') | NO | | N | |
| Super_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Repl_slave_priv | enum('N','Y') | NO | | N | |
| Repl_client_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Create_user_priv | enum('N','Y') | NO | | N | |
| Event_priv | enum('N','Y') | NO | | N | |
| Trigger_priv | enum('N','Y') | NO | | N | |
| Create_tablespace_priv | enum('N','Y') | NO | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int(11) unsigned | NO | | 0 | |
| max_updates | int(11) unsigned | NO | | 0 | |
| max_connections | int(11) unsigned | NO | | 0 | |
| max_user_connections | int(11) unsigned | NO | | 0 | |
| plugin | char(64) | YES | | | |
| authentication_string | text | YES | | NULL | |
| password_expired | enum('N','Y') | NO | | N | |
+-------------------------------+------+-----+---------+-------+
0×2. mysql.DB表
select * from DB;
desc DB;
mysql> desc DB; +-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| Db | char(64) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Event_priv | enum('N','Y') | NO | | N | |
| Trigger_priv | enum('N','Y') | NO | | N | |
+-------------+------+-----+---------+-------+
0×3. mysql.TABLES_PRIV表
分享:創建MySQL從庫我們知道Oracle有DataGuard實時備份數據,可以做主備切換,而MySQL也有自己的一套備庫方案,稱之為主從復制。 搭建MySQL從庫是為了實時同步主庫數據,同時也可以分擔主庫的讀壓力,對數據庫端做成讀寫分離結構。 搭建MySQL主從庫注意點: 1.主庫和從庫的 server-id 一
- MySQL中實現高性能高并發計數器方案
- 創建MySQL從庫
- mysql語句中使用like后面的%(百分號)的問題
- sqlserver數據實時同步到mysql
- EXP-00091: Exporting questionable statistics
- 由于文件組 ‘DEFAULT’ 中的磁盤空間不足,無法為數據庫 ‘TEMPDB’ 分配新頁
- sqlserver多版本查看版本號
- 如何正確查看 SQL Server 2005 版本號?
- SQL查詢語句中的bool類型字段值的寫法
- SQL Server 2005建立與服務器的連接時出錯的解決方案
- MySQL中GROUP BY的基本實現原理
- PHP實現將EXCEL文件導入到MYSQL
- 相關鏈接:
- 教程說明:
MySQL教程-MySQL安全配置詳解
。