MySQL数据库文件结构

1.初始化选项文件   my.cnf

[client]   [mysqld]  [mysqldump]    [mysqlhotcopy],mysql命令行工具的名称,所有的客户端命令都属于[client] 区块作用域范围,包括mysqldump,mysqlhotcopy,mysqladmin等,哪个不属于客户端命令呢-mysqld;

2.错误日志文件

错误日志在启用mysqld时候,通过log-error指定,没有的话在mysql的  %datadir% 文件夹下,默认文件名为[host_name].err 

3.查询日志文件

3.1.慢查询日志,MySQL将所有执行超过指定阀值的SQL语句记录下来,系统变量long_query_time(默认是10s),保存路径由参数slow_query_log_file文件指定,默认文件名为[host-name]-slow.log

mysql> set GLOBAL slow_query_log='OFF';
Query OK, 0 rows affected (0.00 sec)

mysql> set GLOBAL slow_query_log='ON';
Query OK, 0 rows affected (0.07 sec)

 

3.2 普通查询日志(General  Query  Log)所有的执行查询的记录会被保存下来;可以起到审计的作用,

   通过参数确定是否开启:general_log这个参数为1或者0来控制开启或者关闭;

                                           general_log_file:日志保存的路径,

mysql> set global general_log='OFF';
Query OK, 0 rows affected (0.00 sec)

mysql> set global general_log='ON';
Query OK, 0 rows affected (0.33 sec)

     也可以设置回话产生的普通查询日志:

mysql> set sql_log_off='OFF';
Query OK, 0 rows affected (0.01 sec)

mysql> set sql_log_off='ON';
Query OK, 0 rows affected (0.00 sec)

[root@localhost mysql]# cat localhost.log
/usr/sbin/mysqld, Version: 5.7.15 (MySQL Community Server (GPL)). started with:
Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
2022-05-30T08:32:34.136710Z 3 Query set sql_log_off='OFF'
2022-05-30T08:32:49.626884Z 3 Query set sql_log_off='ON'
2022-05-30T08:42:39.268879Z 3 Query set sql_log_off='ON'

 4.配置查询日志

MySQL的查询日志(general和slow_log)不仅可以报错在文件里边,也可以保存在表内;输出到表中要比输出到文件中耗费更多的资源,建议输出到文本中。

4.1在MySQL服务启动时候配置

        --log-output选项可选参数有3个,不同的参数可以同时使用,中间用逗号分开

                .TABLE:输出信息到数据库中的日志表,对应general_log和slow_log两个表;

                .FILE:输出到日志文件;

                .NONE不输出日志。

       --log--output=TABLE,FILE --general_log   启用普通日志,记录到表和文件中;

       --log-output=TABLE  --general_log  --slow_query_log   启用普通日志,慢查询日志,记录到日志及文件中

       --log-output=FILE   --slow_query_log    启用慢查询日记,记录到文件中

      --log-output=FILE  --slow_query_log    --slow_query_log_file=/data/mysql/logs/slow.log   启用慢查询日志,并记录到指定的文件中

4.2在MySQL服务运行中实时修改

         可以通过修改参数,实时生效:

             .log_outpu

             .general_log & slow_query_log

             general_log_file & slow_query_log_file 

 5.二进制日志文件

           二进制日志文件的作用:

              .用于复制:将Master端的二进制日志发送到Slave端,Slave端可以根据二进制日志文件内容,在本地重做,以达到主从同步的目的;

               用户恢复:用于数据恢复;

              可以通过mysqlbinlog命令查看二进制日志中记录的内容。

6.中继日志及复制状态文件

          在复制过程中,Slave节点会创建若干文件,用于保存从Master节点接收到的二进制日志,有些用于记录当前复制环境的状态,有些用于记录事件处理进度等相关信息,大致分为三类:

                   .中继日志(relay log)文件,用于保存读取到的Master二进制日志,由Slave节点的I/O线程负责数据的维护,这个文件可以通过mysqlbinlog命令解析和读取其中的记录的事件内容;

                   .Master(master.info)信息日志文件:用户保存Master使用的用户名,密码,IP,端口等,也可以报错在mysql.slave_master_info表对象中;

 7.表对象数据文件                  

               .frm文件:表对象的结构定义文件,不管用什么存储引擎的表对象,一定拥有这个文件;

               .idb文件:InnoDB引擎专用的数据文件(含索引);

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

               .MYI文件:MyISAM引擎专用的索引文件;

               .CSV文件:CSV专用的数据文件;

               .ARZ文件:ARCHIVE引擎专用的数据文件。

 8.套接字文件 mysql.sock

                这个mysql.sock应该是mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快.

                Mysql有两种连接方式: 
                 (1),TCP/IP 
                 (2),socket 
                          对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。   例如你无须定义连接host的具体IP得,只要为空或localhost就可以。在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。因为你在my.ini中或my.cnf中改变端口后,mysql.sock是随每一次 mysql server启动生成的。已经根据你在更改完my.cnf后重启mysql时重新生成了一次,信息已跟着变更。那么对于外部连接,必须是要变更port才能连接的。           

mysql> show variables like 'socket';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| socket        | /var/lib/mysql/mysql.sock |
+---------------+---------------------------+
1 row in set (0.01 sec)

 9.自动配置文件

             每个MySQL数据库实例拥有一个唯一的UUID,避免SLAVE应用错误的数据,保存在数据目录下的auto.cnf文件中。

[root@localhost mysql]# cat auto.cnf 
[auto]
server-uuid=21547d47-cbb1-11ec-ad54-000c29843fb2

 

 

 

 

 

 

 

 

 

 

 

                   .

 

posted @ 2022-06-08 09:06  中仕  阅读(9)  评论(0编辑  收藏  举报