1,mysql体系结构
由数据库和数据库实例组成,是单进场多线程架构。
数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件可以是frm、myd、myi、ibd等结尾的文件,当使用ndb存储引擎时候,不是os文件,是存放于内存中的文件。
数据库实例:由数据库后台进程/线程以及一个共享内存区组成,共享内存可以被运行的后台进程/线程所共享。
2,mysql文件类型
Mysql主要文件类型有如下几种:
参数文件:mysql实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类型以及定义作用域。
日志文件:记录mysql对某种条件做出响应时候写入的文件。
Socket文件:当用linux的mysql命令行窗口登录的时候需要的文件
Pid文件:mysql实例的进程文件
Mysql表结构文件:存放mysql表结构定义文件
存储引擎文件:记录存储引擎信息的文件。
3,参数文件my.cnf
? Mysql实例启动时,会先读取配置参数文件my.cnf
? 寻找my.cnf位置
(1):默认情况: mysql--help|grep my.cnf
(2):后台进程去找:ps–eaf|grep mysql
(3):全局搜索:find /-name my.cnf
? 可以用vi直接维护修改里面的参数值
(1)dynamic :可以通过set进行实时修改
(2)static,只能在my.cnf里面修改,需要restart生效
Mysql参数文件中的参数可以分为2种类型:动态(dynamic)参数和静态参数(staitic)
动态参数意味着可以在mysql实例运行中进行修改,set global sort_buffer_size=32999999;修改后,别的connection重新进行连接就可以生效了。
生效范围分为:global和session。
静态的说明在整个mysql实例运行期间不得进行修改,就类似一个只读的read only
4,日志文件
日志文件记录了影响mysql数据库的各种类型活动,常见的日志文件有错误日志、二进制日志、慢查询日志、全查询日志、redo日志、undo日志
5、错误日志
错误日志对mysql的启动、运行、关闭过程进行了记录,mysql dba在遇到问题时候,第一时间应该查看这个错误日志文件,该文件不但记录了出错信息,还记录了一些警告信息以及正确信息,这个error日志文件类似于oracle的alert文件,只不过默认情况下是以error结尾。可以通过show variables like 'log_error';