|NO.Z.00131|——————————|BigDataEnd|——|Java&MySQL.高级.V03|——|MySQL.v03|物理文件|
一、MySQL物理文件
### --- mysql物理文件
——> 物理文件包括:日志文件,数据文件,配置文件
### --- 日志文件
——> error log 错误日志 排错 /var/log/mysqld.log【默认开启】
——> bin log 二进制日志 备份 增量备份 DDL DML DCL
——> Relay log 中继日志 复制 接收 replication master
——> slow log 慢查询日志 调优 查询时间超过指定值
-- 查看错误日志文件路径
mysql> show variables like 'log_error';
+---------------+---------------------+
| Variable_name | Value |
+---------------+---------------------+
| log_error | /var/log/mysqld.log |
+---------------+---------------------+
1 row in set (0.00 sec)
-- 慢查询日志文件路径
mysql> show variables like 'slow_query_log_file';
+---------------------+-----------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------+
| slow_query_log_file | /var/lib/mysql/localhost-slow.log |
+---------------------+-----------------------------------+
1 row in set (0.00 sec)
-- bin log 日志文件 需要在 my.cnf 中配置
log-bin=/var/log/mysql-bin/bin.log
server-id=2
-- 查看 relay log 相关参数
mysql> show variables like '%relay%';
+---------------------------+------------------------------------------+
| Variable_name | Value |
+---------------------------+------------------------------------------+
| max_relay_log_size | 0 |
| relay_log | |
| relay_log_basename | /var/lib/mysql/localhost-relay-bin |
| relay_log_index | /var/lib/mysql/localhost-relay-bin.index |
| relay_log_info_file | relay-log.info |
| relay_log_info_repository | FILE |
| relay_log_purge | ON |
| relay_log_recovery | OFF |
| relay_log_space_limit | 0 |
| sync_relay_log | 10000 |
| sync_relay_log_info | 10000 |
+---------------------------+------------------------------------------+
11 rows in set (0.00 sec)
### --- 配置文件&数据文件
~~~ 配置文件 my.cnf
——> 在 my.cnf 文件中可以进行一些参数设置, 对数据库进行调优。
[client] # 客户端设置,即客户端默认的连接参数
port = 3307 # 默认连接端口
socket = /data/mysqldata/3307/mysql.sock # 用于本地连接的socket套接字
default-character-set = utf8mb4 # 编码
[mysqld] # 服务端基本设置
port = 3307 MySQL监听端口
socket = /data/mysqldata/3307/mysql.sock # 为MySQL客户端程序和服务器之间的本地通讯指定一
个套接字文件
pid-file = /data/mysqldata/3307/mysql.pid # pid文件所在目录
basedir = /usr/local/mysql-5.7.11 # 使用该目录作为根目录(安装目录)
datadir = /data/mysqldata/3307/data # 数据文件存放的目录
tmpdir = /data/mysqldata/3307/tmp # MySQL存放临时文件的目录
character_set_server = utf8mb4 # 服务端默认编码(数据库级别)
### --- 数据文件
-- 查看数据文件的位置
mysql> show variables like '%dir%';
+-----------------------------------------+----------------------------+
| Variable_name | Value |
+-----------------------------------------+----------------------------+
| basedir | /usr/ |
| binlog_direct_non_transactional_updates | OFF |
| character_sets_dir | /usr/share/mysql/charsets/ |
| datadir | /var/lib/mysql/ |
| ignore_db_dirs | |
| innodb_data_home_dir | |
| innodb_log_group_home_dir | ./ |
| innodb_max_dirty_pages_pct | 75.000000 |
| innodb_max_dirty_pages_pct_lwm | 0.000000 |
| innodb_tmpdir | |
| innodb_undo_directory | ./ |
| lc_messages_dir | /usr/share/mysql/ |
| plugin_dir | /usr/lib64/mysql/plugin/ |
| slave_load_tmpdir | /tmp |
| tmpdir | /tmp |
+-----------------------------------------+----------------------------+
~~~ # frm文件
——> 不论是什么存储引擎,每一个表都会有一个以表名命名的.frm文件,与表相关的元数据(meta)信息都存放在此文件中,包括表结构的定义信息等。
~~~ # MYD文件
——> myisam存储引擎专用,存放myisam表的数据(data)。每一个myisam表都会有一个.MYD文件与之呼应,同样存放在所属数据库的目录下
~~~ # MYI文件
——> 也是myisam存储引擎专用,存放myisam表的索引相关信息。每一个myisam表对应一个.MYI文件,其存放的位置和.frm及.MYD一样
~~~ # ibd文件
——> 存放innoDB的数据文件(包括索引)。
~~~ # db.opt文件
——> 此文件在每一个自建的库里都会有,记录这个库的默认使用的字符集和校验规。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv005-mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通