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

更多文章:


如何获取网页的url?哪里可以获得广告url地址

如何获取网页的url?哪里可以获得广告url地址

大家好,如果您还对免费url不太了解,没有关系,今天就由本站为大家分享免费url的知识,包括如何获取网页的url的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年4月19日 16:40

如何查看mysql环境是否配置成功(my**L装好需不需要在环境变量里配置,如何配置)

如何查看mysql环境是否配置成功(my**L装好需不需要在环境变量里配置,如何配置)

关注本号的朋友都知道,我们一直在持续输出关于如何查看mysql环境是否配置成功的干货。今天,我们就聚焦到大家反复问到的my**L装好需不需要在环境变量里配置,如何配置上。

2026年4月19日 16:20

常用15个excel函数公式活学活用(excel中最常用的30个函数)

常用15个excel函数公式活学活用(excel中最常用的30个函数)

想快速搞懂常用15个excel函数公式活学活用吗?本文将围绕excel中最常用的30个函数等核心问题,用最直白的语言为您提供一份实用指南,帮您节省大量摸索的时间。

2026年4月19日 16:00

osi模型中上层使用下层所提供的(OSI参考模型各层使用的网络设备是什么)

osi模型中上层使用下层所提供的(OSI参考模型各层使用的网络设备是什么)

本篇文章给大家谈谈osi模型中上层使用下层所提供的,以及OSI参考模型各层使用的网络设备是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年4月19日 15:40

indexof方法返回 1(为什么ArrayList集合中存入对象用indexOf()返回一直是-1)

indexof方法返回 1(为什么ArrayList集合中存入对象用indexOf()返回一直是-1)

大家好,如果您还对indexof方法返回 1不太了解,没有关系,今天就由本站为大家分享indexof方法返回 1的知识,包括为什么ArrayList集合中存入对象用indexOf()返回一直是-1的问题都会给大家分析到,还望可以解决大家的问

2026年4月19日 15:20

element ui日期选择器(如何把element ui 日期选择器变成字符串)

element ui日期选择器(如何把element ui 日期选择器变成字符串)

你有没有想过,element ui日期选择器的关键突破口,可能就藏在如何把element ui 日期选择器变成字符串之中?本篇内容将为你验证这个猜想。

2026年4月19日 15:00

socket编程小游戏(急求一个J**A编程,“编写一个猜拳游戏,分别用0、1、2表示石头、剪子、布)

socket编程小游戏(急求一个J**A编程,“编写一个猜拳游戏,分别用0、1、2表示石头、剪子、布)

您是否曾想过,socket编程小游戏究竟是怎么一回事?它与急求一个J**A编程,“编写一个猜拳游戏,分别用0、1、2表示石头、剪子、布之间又有什么联系?本文将为您一探究竟。

2026年4月19日 14:40

n点虚拟主机管理系统(n点虚拟主机管理系统是什么意思)

n点虚拟主机管理系统(n点虚拟主机管理系统是什么意思)

从一个常见的误区说起:很多人学n点虚拟主机管理系统,却忽略了n点虚拟主机管理系统是什么意思。结果事倍功半。希望你不会再犯这个错误。

2026年4月19日 14:20

apache和tomcat的区别(tomcat和apache的区别)

apache和tomcat的区别(tomcat和apache的区别)

本文旨在解决您关于apache和tomcat的区别的两大困惑:一是理清基本概念,二是深入解析tomcat和apache的区别。内容干练,直奔主题。

2026年4月19日 14:00

ckeditor下载(dedecms后台用什么编辑器好用又适合优化)

ckeditor下载(dedecms后台用什么编辑器好用又适合优化)

很多朋友初次接触ckeditor下载可能会觉得有点陌生,这很正常。今天这篇文章,咱们就一起把dedecms后台用什么编辑器好用又适合优化这事儿聊透,希望能帮您理清思路。

2026年4月19日 13:40

最近更新

element ui日期选择器(如何把element ui 日期选择器变成字符串)
2026-04-19 15:00:02 浏览:0
apache和tomcat的区别(tomcat和apache的区别)
2026-04-19 14:00:02 浏览:0
热门文章

go语言学习(为什么要学习go语言)
2026-04-08 08:20:01 浏览:0
transform和convert的区别(convert, change, modify, transform, alter的区别是什么啊)
2026-04-08 16:20:03 浏览:0
floatleft是什么意思(displayflex和floatleft的区别)
2026-04-17 04:40:03 浏览:0
标签列表