mysql 与文件系统_MySQL文件系统

本文深入探讨MySQL数据库的架构特点,包括服务器端配置、客户端工具使用、存储引擎特性及日志文件管理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Published: 2016-04-17 13:20:00

tags: MySQL

芯片架构以及指令集

* 计算机指令系统

* 计算机中央处理器的设计模式:复杂指令集(CISC)和精简指令集(RISC)两部分

* 微电子技术、微电子机械系统

* 处理器:32bit 和64bit

安装的操作系统平台,以及安装平台下的限制

* windows下:目录和文件名、文件名大小写、目录的分隔符、管道操作隐患、最大可用内存、端口限制、文件系统

* Linux下:源码安装和使用编译好的二进制文件安装

* Unix

* 操作系统:32bit 和64bit

MySQL中数据库是个操作系统层的目录

安装文件:

bin文件夹下是:可执行文件 mysql.exe、 mysqld

data文件夹下是:数据库文件

include文件夹下是:头文件 ,mysql.h errmsg.h

lib文件夹下是:库文件,又有两个子文件夹 Plugin 和debug

share文件夹下是:字符集与语言等信息

support-files文件夹下是支持文件,包含Solaris文件

my.ini文件:参数配置文件

data文件夹下是:数据库文件

系统默认创建的数据库

mysql:记录用户权限、帮助、日志等信息

performance——schema:服务性能指标库

information_schema:记录用户、表、视图的元数据信息,是虚拟出来的视图,所以在文件夹下没有

用户创建的数据库:

表对象数据文件:frm:表对象的结构定义文件,所有存储引擎都会有的文件,frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等

db.opt文件 ,该文件主要用来存储当前数据库的默认字符集和字符校验规则。collation

.ibd 文件,InnoDB引擎专用文件,是单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引,

.myd文件:MyISAM 引擎专用的数据文件

.myi文件:MyISAM 引擎专用的索引文件

.scv文件:CSV引擎专用的数据文件

.arz

.pid 文件:进程ID文件

日志文件

记录错误信息的日志

服务进程运行时发生的关键错误

错误日志文件

Note 、Warning、 Error三类信息

记录查询信息的日志

查询日志文件:用于审计

slow query log

general query log :记录mysqld进程几乎所有的操作,通常不被启用,记录内容太详细,安全性和效率就要考虑了

配置查询日志

记录数据库中的修改事件

二进制日志,用于复制和恢复

二进制日志文件使用专用的工具查询mysqlbinlog.exe ,记录的格式有所不同,有基于行格式记录、

基于语句记录、 以及基于混合模式记录的

记录当前复制环境、进度的

中继日志文件

中继日志信息文件

Master信息日志文件

mysql 配置文件Windows平台下配置文件的扩展名既可以是 .ini 也可以使 .cnf

默认会扫描以下路径中的文件,并使用找到的第一个匹配的文件,不同平台的默认路径是不一样的,也可以自己设定路径,只要告诉MySQL命令行文件路径,主要是通过defaults-file 和default-extra-file 这两个参数确定

my.ini 真正的配置信息

my-default.ini 存放一些默认配置信息

配置选项的语法,以及指定配置的选项

注释符

[] :用于定义对应命令行的选项

[mysqld] 服务器端的配置

[client] 客户端的配置作用于所有命令行程序

[mysql] [mysqladmin]、[mysqldump] [mysqlhotcopy] [myisamchk]

Option_name = Option_value

附录:

mysqld.exe 是MySQL后台程序(即MySQL服务器)。要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库。

mysql.exe 是MySQL自带的命令行客户端工具,是交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。

简单来说:mysqld是用来启动mysql数据库的命令,mysql则是打开并执行sql语句的命令。

mysqld端的配置

Option_name

[mysqld]

port #:MySQL数据库的端口

basedir #:MySQL的安装路径

datadir #:MySQL数据文件的存储位置

character-set-server=utf8 #:服务器端默认的字符集

collation-server=utf8_general_ci #:服务器端默认的校对规则

default-storage-engine=INNODB #:默认的存储引擎

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" #:表示SQL模式的参数,设置检验SQL语句的严格程度

max_connections=512 #:表示允许同时访问MySQL最大连接数

query_cache_size=0 #:表示查询时缓存的大小

table_cache=256

tmp_table_size=18M #:内存中临时表的最大值

thread_cache_size=8 #:保留客户端线程的缓存

myisam_max_sort_file_size=64G

myisam_sort_buffer_size=35M

key_buffer_size=25M

read_buffer_size=64K

read_rnd_buffer_size=256K

sort_buffer_size=256K

innodb_additional_mem_pool_size=2M #:表示附加的内存池,用来存储InnoDB表的内容

innodb_flush_log_at_trx_commit=1 #:表示 设置提交日志的时机

innodb_log_buffer_size=1M #:表示用来存储日志数据缓冲区的大小

innodb_buffer_pool_size=47M #:表示缓存大小,InnoDB用缓存池来保存索引和原始数据

innodb_log_file_size=24M #:日志文件大小

innodb_thread_concurrency=8 #:表示InnoDB存储引擎允许的线程最大数

innodb_lock_wait_timeout = 288000000 #:设置锁等待时间

max_allowed_packet = 1024M #:服务器接受的数据包大 eg:sql文件过大,会出现"MySQL server has gone away"问题

wait_timeout=288000000

(1)interactive_timeout:

参数含义:服务器关闭交互式连接前等待活动的秒数

(2)wait_timeout:参数含义:服务器关闭非交互连接之前等待活动的秒数。

表对象数据文件

db.opt文件 ,该文件主要用来存储当前数据库的默认字符集和字符校验规则。collation

.frm ,frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等

.ibd ,是单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引,InnoDB引擎专用文件

.myd ,MYD文件用来保存MyISAM表的数据,专属于MyISAM存储引擎的

.myi ,MYI文件用来存放MyISAM表的索引信息,专属于MyISAM存储引擎的

.csm

.csv ,CSV引擎专用的数据文件

.arz ,archive引擎专用数据文件

MyISAM表结构

InnoDB表结构

当配置好MySQL数据库服务后,系统会默认的创建4个库;具体

information_schema

perfoemance_schema

mysql

test

schema [ˈski:mə] 在MySQL中和database是可以等效的

information_schema,数据字典信息库,只读视图,mysql启动的时候所加载的系统参数信息。所以没有实际的物理存储

对于该库,用户拥有查询功能

perfoemance_schema,服务性能指标库

mysql ,记录用户权限、帮助、日志等信息

test ,测试库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值