3.mysql 数据库文件

1.Mysql数据库文件

    数据库层面文件有:参数文件my.cnf、错误日志文件errorlog 、慢查询日志 slow log、全量日志general log、二进制日志binlog文件、审计日志audit log、中继日志relay log、套接字文件socket、进程pid文件和表结构文件。

    存储层面:redolog 和undo log 日志文件

1.1 参数文件(启动顺序:/etc/my.cnf-->/etc/mysql/my.cnf-->/usr/local/mysql/my.cnf-->~/.my.cnf)

    在my.cnf中分为clientsection和server section两块

    innodb_buffer_pool:可设置为物理内存50%-80%

    innodb_buffer_pool_instance:大于1G时,生成的多实例才会生效。

    innodb_buffer_pool_load_at_startup和innodb_buffer_pool_dump_at_shutdown同时改为1,可快速把热数据加载到数据库。

    innodb_data_file_path:系统表空间文件路径和ibdata1文件大小,默认为10M,建议改为1GB

    interactive_timeout:服务器关闭交付式连接前等待活动的时间,默认为28800s(即8小时),建议改为300~600s

    wait_timeout:服务器关闭非交互式连接之前等待活动的时间,默认为28800s(即8小时),建议改为300~600s

    showvariables like '%timeout%';

    showvariables like '%innodb_flush_method%';

    showvariables like '%innodb_old_blocks_time';

    showvariables like '%innodb_old_blocks_pct%';

    transaction_isolation:Mysql事务隔离级分为:READ-UNCOMMITTED、READ-COMMITTED、REPEATABLE_READ和SERIALIZABLE,默认采用可重复读(REPEATABLE_READ)

    showvariables like '%innodb_thread_c%';并发连接数,mysql5.6后默认为0(max_connections) ,不限制。

    lower_case_table_names:表名是否区分大小写,默认为0,区分大小写

1.2 参数类型

    动态参数:可以通过setgobal或set session命令修改

    静态参数:无法在线修改

1.3 错误日志文件(error log)

    showvariables like '%log_error';

1.4 二进制日志文件(binary log)

    主要作用:完成主从复制功能,进行恢复操作

    showvariables like '%log_bin%';

    showvariables like '%binlog_format%'; 建议row格式

    binlog的格式有:statement、row、mixed三种

1.5 慢查询日志(slow log)

    percona-toolkit工具,通过此命令下的一个pt-query-digest命令捕获线上慢SQL语句。

    https://www.percona.com/downloads/percona-toolkit/LATEST/

1.6 全量日志(general log)

    showvariables like '%log_output%';临时开启用于故障检测

1.7 审计日志(audit log)

    需要购买企业版才可以使用审计功能,可利用第三方开源审计插件libaudit_plugin.so在mysql5.7社区版中完成。

    https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.4-725#files

    unzip 包

    cdaudit-plugin-mysql-*/lib

    cp libaudit-plugin.so/usr/local/mysql/lib/plugin/

    数据库命令行安装:

    installplugin audit soname 'libaudit_plugin.so';

    showvariables like '%audit%';

    开启插件:setglobal audit_json_file=1;

    Pid:mysql数据库是一个单进程多线程模型的数据库,实例生成后会生成唯一进程号:ps  -ef |grep mysql

    Socket文件:mysql数据库有两种连接方式 ,网络连接和本地连接,/tmp/mysql.sock

    Innodb存储引擎文件:主要分两种日志:redo日志和undo日志,redo记录的是数据被修改之后的值,undo日志:记录做变更操作之前的旧数据,默认记录到系统表空间(ibdata1)中.

    Undo主要参数:undo文件存储目录 :show variables like ‘%undo_directory%’;

    Undo回滚段默认数量是128个。

    Innodo_undo_tablespaces代表undo tablespace的个数,默认大小是10M,表空间个数的默认值是 0,最少两个;show variables like ‘undo_tablespaces’;

    Mysql5.7后多了一个innodb_max_undo_log_size 参数,默认大小是1GB,超过这个阈值,就触发truncate undo logs,truncate之后默认大小恢复为10MB,5.7之后可以支持在丝删除无用的undo logs,默认功能是关闭的 :show variables like ’%innodb_max_undo%’

Show variables like ‘%innodb_undo_log_truncate%’;修改innodb_undo_log_truncate=on即可。Innodb_purge_rseg_truncate_frequency:控制回收undo log频率,默认128次,表示purge undo轮询128次后,进行一次undo的truncate操作。

   

   

   

   

   

猜你喜欢

转载自blog.csdn.net/wulinpingailxr/article/details/80583954