mysql数据库的组成(Mysql数据库的安全配置、实用技巧)

:暂无数据 2026-04-15 21:00:01 0
本文旨在解决您关于mysql数据库的组成的两大困惑:一是理清基本概念,二是深入解析Mysql数据库的安全配置、实用技巧。内容干练,直奔主题。

本文目录

Mysql数据库的安全配置、实用技巧


1、前言
My**L 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问My**L 数据库的程序,特别是与PHP更是黄金组合,运用十分广泛。
由于My**L是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该进行进一步的安全加固。作为一个My**L的系统管理员,我们有责任维护My**L数据库系统的数据安全性和完整性。
My**L数据库的安全配置必须从两个方面入手,系统内部安全和外部网络安全,另外我们还将简单介绍编程时要注意的一些问题以及一些小窍门。
2、系统内部安全
首先简单介绍一下My**L数据库目录结构。My**L安装好,运行了mysql_db_install脚本以后就会建立数据目录和初始化数据库。如果我们用My**L源码包安装,而且安装目录是/usr/local/mysql,那么数据目录一般会是/usr/local/mysql/var。数据库系统由一系列数据库组成,每个数据库包含一系列数据库表。My**L是用数据库名在数据目录建立建立一个数据库目录,各数据库表分别以数据库表名作为文件名,扩展名分别为MYD、MYI、frm的三个文件放到数据库目录中。
My**L的授权表给数据库的访问提供了灵活的权限控制,但是如果本地用户拥有对库文件的读权限的话,攻击者只需把数据库目录打包拷走,然后拷到自己本机的数据目录下就能访问窃取的数据库。所以My**L所在的主机的安全性是最首要的问题,如果主机不安全,被攻击者控制,那么My**L的安全性也无从谈起。其次就是数据目录和数据文件的安全性,也就是权限设置问题。
从My**L主站一些老的binary发行版来看,3.21.xx版本中数据目录的属性是775,这样非常危险,任何本地用户都可以读数据目录,所以数据库文件很不安全。3.22.xx版本中数据目录的属性是770,这种属性也有些危险,本地的同组用户既能读也能写,所以数据文件也不安全。3.23.xx版本数据目录的属性是700,这样就比较好,只有启动数据库的用户可以读写数据库文件,保证了本地数据文件的安全。
如果启动My**L数据库的用户是mysql,那么象如下的目录和文件的是安全的,请注意数据目录及下面的属性:
shellls -l /usr/local/mysql
total 40
drwxrwxr-x 2 root root 4096 Feb 27 20:07 bin
drwxrwxr-x 3 root root 4096 Feb 27 20:07 include
drwxrwxr-x 2 root root 4096 Feb 27 20:07 info drwxrwxr-x 3 root root 4096 Feb 27 20:07 lib drwxrwxr-x 2 root root 4096 Feb 27 20:07 libexec drwxrwxr-x 3 root root 4096 Feb 27 20:07 man drwxrwxr-x 6 root root 4096 Feb 27 20:07 mysql-test drwxrwxr-x 3 root root 4096 Feb 27 20:07 share drwxrwxr-x 7 root root 4096 Feb 27 20:07 sql-bench drwx------ 4 mysql mysql 4096 Feb 27 20:07 var
shellls -l /usr/local/mysql/var
total 8
drwx------ 2 mysql mysql 4096 Feb 27 20:08 mysql
drwx------ 2 mysql mysql 4096 Feb 27 20:08 test
shellls -l /usr/local/mysql/var/mysql
total 104
-rw------- 1 mysql mysql 0 Feb 27 20:08 columns_priv.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 columns_priv.MYI
-rw------- 1 mysql mysql 8778 Feb 27 20:08 columns_priv.frm
-rw------- 1 mysql mysql 302 Feb 27 20:08 db.MYD
-rw------- 1 mysql mysql 3072 Feb 27 20:08 db.MYI
-rw------- 1 mysql mysql 8982 Feb 27 20:08 db.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 func.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 func.MYI
-rw------- 1 mysql mysql 8641 Feb 27 20:08 func.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 host.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 host.MYI
-rw------- 1 mysql mysql 8958 Feb 27 20:08 host.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 tables_priv.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 tables_priv.MYI
-rw------- 1 mysql mysql 8877 Feb 27 20:08 tables_priv.frm
-rw------- 1 mysql mysql 428 Feb 27 20:08 user.MYD
-rw------- 1 mysql mysql 2048 Feb 27 20:08 user.MYI
-rw------- 1 mysql mysql 9148 Feb 27 20:08 user.frm
如果这些文件的属主及属性不是这样,请用以下两个命令修正之:
shellchown -R mysql.mysql /usr/local/mysql/var
shellchmod -R go-rwx /usr/local/mysql/var

My**L由哪些部分组成

之前画了一个图,从这里大概可以看出My**L有哪些模块组成。

宏观上看:server层、存储引擎层。这两个部分里面有细分了很多功能模块。

mysql数据库表间关系图怎么查看(数据库表与表之间的关系图)

mysql数据库表间的关系图可以通过navicat查看:

第一步:下载navicat打开;

第二步:点击navicat界面最右下角标注的按钮即可查看关系图。

最新的My**LWorkbench已经完全包含了数据库建模与设计、数据库**L开发和数据库管理与维护等功能。

Mysql数据库-----表

sh.qihoo2018-04-0708:20

1、定义:表(table)是数据库最基本的组成单元,数据库是用来存储数据的,数据库中有很多表,每一个表都是一个独立的单元,表也是一个结构化的文件,由行和列组成,行称为数据或记录,列称为字段,字段又包含:字段名称、字段类型、长度、约束。

2、创建表

(1)、语法格式:createtable表名称(字段名类型(长度)约束);

(2)、My**L常用数据类型

VARCHAR:可变长度字符串(VARCHAR(3)表示存储的数据长度丌能超过3个字符长度)

CHAR:定长字符串(CHAR(3)表示存储的数据长度丌能超过3个字符长度)

INT:整数型(INT(3)表示最大可以存储999)

BIGINT:长整型(对应java程序中的long类型)

FLOAT:浮点型单精度(FLOAT(7,2)表示7个有效数字,2个有效小数位)

DOUBLE:浮点型双精度(DOUBLE(7,2)表示7个有效数字,2个有效小数位)

DATE:日期类型(实际开发中,常用字符串代替日期类型)

BLOB:二进制大对象BinaryLargeObject(专门存储图片、视频、声音等数据)

CLOB:字符型大对象CharacterLargeObject(可存储超大文本,可存储4G字符串)

VARCHAR与CHAR对比:

都是字符串

VARCHAR比较智能,可以根据实际的数据长度分配空间,比较节省空间;但在分配的时候需要相关判断,效率低。

CHAR不需要劢态分配空间,所以执行效率高,但是可能会导致空间浪费

若字段中的数据不具备伸缩性,建议采用CHAR类型存储

若字段中的数据具备很强的伸缩性,建议采用VARCHAR类型存储

My**L的数据库文件有几种扩展名及作用分别是什么

在My**L中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件。

1、“.frm”文件 与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等。不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件。所有的“.frm”文件都存放在所属数据库的文件夹下面。

2、“.MYD”文件“ .MYD”文件是MyISAM存储引擎专用,存放MyISAM表的数据。每一个MyISAM表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和“.frm”文件在一起。

3、“.MYI”文件 “.MYI”文件也是专属于MyISAM存储引擎的,主要存放MyISAM表的索引相关信息。对于MyISAM存储来说,可以被cache的内容主要就是来源于“.MYI”文件中。每一个MyISAM表对应一个“.MYI”文件,存放于位置和“.frm”以及“.MYD”一样。

管理工具:

可以使用命令行工具管理 My**L 数据库(命令 mysql 和 mysqladmin),也可以从 My**L 的网站下载图形管理工具 My**L Administrator, My**L Query Browser 和 My**L Workbench。

phpMyAdmin是由 php 写成的 My** L资料库系统管理程程序,让管理者可用 Web 界面管理 My**L 资料库。

phpMyBackupPro也是由 PHP 写成的,可以透过 Web 界面创建和管理数据库。它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份 My**L 数据库。另外,还有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。

以上内容参考:百度百科-my**L

世界在变,mysql数据库的组成的内涵也在延伸,但Mysql数据库的安全配置、实用技巧作为其基石的地位不变。把握不变,应对万变。
本文编辑:admin

更多文章:


excel公式编辑(excel表格计算公式怎么设置)

excel公式编辑(excel表格计算公式怎么设置)

本篇内容旨在成为您理解excel公式编辑的实用手册,其中excel表格计算公式怎么设置将是我们要重点打磨的章节。

2026年4月15日 22:40

servlet should have a mapping(java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet)

servlet should have a mapping(java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet)

想高效掌握servlet should have a mapping的核心吗?本文将为你聚焦java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet这一

2026年4月15日 22:20

us下载电视剧怎么是php格式的(为什么下载的东西都会变成.PHP格式的~~)

us下载电视剧怎么是php格式的(为什么下载的东西都会变成.PHP格式的~~)

本文旨在为您说清楚两件事:一是us下载电视剧怎么是php格式的到底是什么,二是如何理解为什么下载的东西都会变成.PHP格式的~~。内容不长,但都是干货,希望能对您有所帮助。

2026年4月15日 22:00

javascript入门经典6(JavaScript入门经典的作者简介)

javascript入门经典6(JavaScript入门经典的作者简介)

结合最近的趋势来看,javascript入门经典6的热度持续攀升,而JavaScript入门经典的作者简介作为其核心组成部分,讨论度更是居高不下。

2026年4月15日 21:40

c语言开发安卓(用c语言可以开发app吗(c语言能开发安卓app吗))

c语言开发安卓(用c语言可以开发app吗(c语言能开发安卓app吗))

大家好,如果您对c语言开发安卓还心存疑问,别着急,今天这篇文章就将围绕用c语言可以开发app吗(c语言能开发安卓app吗)为您展开详细解说。

2026年4月15日 21:20

mysql数据库的组成(Mysql数据库的安全配置、实用技巧)

mysql数据库的组成(Mysql数据库的安全配置、实用技巧)

本文旨在解决您关于mysql数据库的组成的两大困惑:一是理清基本概念,二是深入解析Mysql数据库的安全配置、实用技巧。内容干练,直奔主题。

2026年4月15日 21:00

cs域和ps域(手机上网业务是由哪个网络域提供的)

cs域和ps域(手机上网业务是由哪个网络域提供的)

最近,关于cs域和ps域的讨论又热了起来。今天咱们不绕弯子,直接切入大家最关心的手机上网业务是由哪个网络域提供的问题,看看它为何如此重要。

2026年4月15日 20:40

不学c语言直接学c++可以吗(不会C语言,可不可以直接学C++)

不学c语言直接学c++可以吗(不会C语言,可不可以直接学C++)

有没有这种经历:明明想搞懂不学c语言直接学c++可以吗,却被不会C语言,可不可以直接学C++卡住了脖子?今天这篇文章,就是专治这种“卡脖子”问题的。

2026年4月15日 20:20

linux真机安装教程(win10和linux双系统的安装教程)

linux真机安装教程(win10和linux双系统的安装教程)

关注本号的朋友都知道,我们一直在持续输出关于linux真机安装教程的干货。今天,我们就聚焦到大家反复问到的win10和linux双系统的安装教程上。

2026年4月15日 20:00

string需要包含什么头文件(string类型)

string需要包含什么头文件(string类型)

花费5分钟阅读本文,您将获得对string需要包含什么头文件和string类型的清晰认知,远超自己搜索数小时的效果。

2026年4月15日 19:40

最近更新

servlet should have a mapping(java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet)
2026-04-15 22:20:02 浏览:0
javascript入门经典6(JavaScript入门经典的作者简介)
2026-04-15 21:40:02 浏览:0
热门文章

**art和**artly区别(**art是啥)
2026-03-30 23:20:01 浏览:0
api接口如何使用(api接口是什么)
2026-03-31 12:40:01 浏览:0
标签列表