mysql数据库的组成(MySQL的数据库文件有几种扩展名及作用分别是什么)
本文目录
MySQL的数据库文件有几种扩展名及作用分别是什么
在MySQL中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件。
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”一样。
管理工具:
可以使用命令行工具管理 MySQL 数据库(命令 mysql 和 mysqladmin),也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。
phpMyAdmin是由 php 写成的 MySQ L资料库系统管理程程序,让管理者可用 Web 界面管理 MySQL 资料库。
phpMyBackupPro也是由 PHP 写成的,可以透过 Web 界面创建和管理数据库。它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份 MySQL 数据库。另外,还有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。
以上内容参考:百度百科-mySQL
mysql数据库表间关系图怎么查看(数据库表与表之间的关系图)
mysql数据库表间的关系图可以通过navicat查看:
第一步:下载navicat打开;
第二步:点击navicat界面最右下角标注的按钮即可查看关系图。
最新的MySQLWorkbench已经完全包含了数据库建模与设计、数据库SQL开发和数据库管理与维护等功能。
Mysql数据库-----表
sh.qihoo2018-04-0708:20
1、定义:表(table)是数据库最基本的组成单元,数据库是用来存储数据的,数据库中有很多表,每一个表都是一个独立的单元,表也是一个结构化的文件,由行和列组成,行称为数据或记录,列称为字段,字段又包含:字段名称、字段类型、长度、约束。
2、创建表
(1)、语法格式:createtable表名称(字段名类型(长度)约束);
(2)、MySQL常用数据类型
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类型存储
Mysql数据库的安全配置、实用技巧
1、前言MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL 数据库的程序,特别是与PHP更是黄金组合,运用十分广泛。由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该进行进一步的安全加固。作为一个MySQL的系统管理员,我们有责任维护MySQL数据库系统的数据安全性和完整性。MySQL数据库的安全配置必须从两个方面入手,系统内部安全和外部网络安全,另外我们还将简单介绍编程时要注意的一些问题以及一些小窍门。2、系统内部安全首先简单介绍一下MySQL数据库目录结构。MySQL安装好,运行了mysql_db_install脚本以后就会建立数据目录和初始化数据库。如果我们用MySQL源码包安装,而且安装目录是/usr/local/mysql,那么数据目录一般会是/usr/local/mysql/var。数据库系统由一系列数据库组成,每个数据库包含一系列数据库表。MySQL是用数据库名在数据目录建立建立一个数据库目录,各数据库表分别以数据库表名作为文件名,扩展名分别为MYD、MYI、frm的三个文件放到数据库目录中。MySQL的授权表给数据库的访问提供了灵活的权限控制,但是如果本地用户拥有对库文件的读权限的话,攻击者只需把数据库目录打包拷走,然后拷到自己本机的数据目录下就能访问窃取的数据库。所以MySQL所在的主机的安全性是最首要的问题,如果主机不安全,被攻击者控制,那么MySQL的安全性也无从谈起。其次就是数据目录和数据文件的安全性,也就是权限设置问题。从MySQL主站一些老的binary发行版来看,3.21.xx版本中数据目录的属性是775,这样非常危险,任何本地用户都可以读数据目录,所以数据库文件很不安全。3.22.xx版本中数据目录的属性是770,这种属性也有些危险,本地的同组用户既能读也能写,所以数据文件也不安全。3.23.xx版本数据目录的属性是700,这样就比较好,只有启动数据库的用户可以读写数据库文件,保证了本地数据文件的安全。如果启动MySQL数据库的用户是mysql,那么象如下的目录和文件的是安全的,请注意数据目录及下面的属性:shellls -l /usr/local/mysqltotal 40drwxrwxr-x 2 root root 4096 Feb 27 20:07 bindrwxrwxr-x 3 root root 4096 Feb 27 20:07 includedrwxrwxr-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 varshellls -l /usr/local/mysql/vartotal 8drwx------ 2 mysql mysql 4096 Feb 27 20:08 mysqldrwx------ 2 mysql mysql 4096 Feb 27 20:08 testshellls -l /usr/local/mysql/var/mysqltotal 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/varshellchmod -R go-rwx /usr/local/mysql/var
更多文章:
适合教育培训机构的名字 培训班有诗意的名字?朗朗上口的艺术培训班名字有哪些
2024年7月10日 07:45
vb语言代码大全private(这个VB代码表示什么 Private Sub Command1_Click( ) Dim a,)
2024年7月12日 10:07
matlab画图设置图片大小(Matlab怎么调整图片的大小,使它成为特定的长宽)
2024年7月22日 01:19
linux基本命令tail(Linux下tail命令的使用方法)
2024年7月5日 05:49
pip下载官网(新手求助,mac下终端里无法运行ipython,已用pip安装,请问怎么解决)
2024年7月4日 08:27
forward和future(forward price 与 futures price 的区别)
2024年4月27日 01:35
checkbox使用方法(vb中的checkbox如何使用)
2024年6月6日 07:16
儿童编程游戏推荐(想给孩子学编程,机器人和scratch哪个好)
2024年7月13日 16:30
linux命令软件测试(软件测试人员在工作中如何运用Linux)
2024年6月23日 07:49
打码网站免费源码(我想办个网站(做打码代理),那么做这样一个网站需要买个com国际顶级域名,空间多少M合适还需要什么)
2024年5月5日 12:55
matlab怎么用cftool拟合曲线(【数学建模算法】(番外6)Matlab曲线拟合工具箱cftool)
2024年7月21日 07:18