(3.11)mysql基础深入——mysql文件分类与配置文件管理
(3.11)mysql基础深入——mysql文件分类与管理
关键词:mysql配置文件,mysql参数文件,mysql中的my.cnf
目录:mysql数据库文件分类;
【1】配置文件:my.cnf
【2】日志文件:
(1)错误日志文件(2)二进制日志文件(3)慢查询日志文件(4)通用日志文件
【3】socket文件:套字节文件,可以理解成 ip + port
【4】pid文件:mysql实例的进程ID文件(根据这个文件判断mysql的启停与状态)
【5】mysql表结构文件:表结构定义文件
【6】存储引擎相关文件(Innodb):数据文件、redo、undo文件
1、配置文件my.cnf
【1.1】查看my.cnf的默认引用:mysql --help |grep my.cnf
默认是从以下四个地方去查找:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
注意,这4个地方是都会去执行,根据linux覆盖原则,如果~/.my.cnf有数据,则最后的参数值会被其覆盖。
如果一个机器上有安装多个mysql版本,可以在配置文件中[mysql-5.7] 这样,来指定版本的配置参数,这样就可以多个版本使用一个配置文件了。
【1.2】自定义引用:mysqld_safe --defaults-file=/mysql/data/3306/my.cnf &
【1.3】Mysql参数分类
(1)按服务器变量分:静态变量参数、动态变量参数
(2)按修改级别分
【1】会话级别:
(1)set session 参数名=参数值; (2)set @@session.参数名=参数值;
【2】全局级别:
(1) set global 参数名=参数值; (2)set @@golbal.参数名=参数值;
-- 修改参数时,如果不加session 或者 global ,默认就是session级别;
-- 注意:动态变量参数、会话级别、全局级别修改的参数,会在下次重启失效,默认会去读my.cnf;
【1.4】如果查看mysql所有的参数
(1)linux命令查看:mysqld --verbose --help |more
(2)mysql中命令查看:
【1】查看局部所有变量参数:show variables;( show variables like '%log%')
【2】查看当前会话的参数: select @@session.autocommit; (等价于 select @@autocommit)
【3】查看全局的会话参数: select @@global.autocommit;
【4】查看会话级别所有的参数:show session variables;
【5】查看全局级别所有的参数:show global variables;
\g :相当于 ; \G:纵向查看
【1.5】官方文档、官方手册(5.1章节)
name:参数名
cmd-Line :配置文件,yes的话可以使用mysqld -变量名=值
option file :配置文件,yes的话可以使用mysqld_safe -变量名='值'
system var:能改,yes是系统变量,可以改的
status var :不能改,yes是指标
var scope :全局/会话/两者都是
dynamic:动态(即可以会话级别修改,若要重启生效则需要修改配置文件)/静态(即只能在配置文件修改)