09 - MySQL management, Log management

09 - MySQL 管理、日志管理

1. 系统数据库

系统自带四个数据库

1.1. mysql 数据库

存储 MySQL 系统的核心信息,包括用户权限、数据库和表的元数据、全局变量等

1.2. information_schema

提供关于数据库服务器所维护的所有其他数据库的信息。这是一个只读数据库,用户可以通过查询其中的表来获取数据库的元数据

1.3. performance_schema

1.4. sys

提供了一组视图和存储过程,用于简化对 performance_schema 和 information_schema 数据库的查询。sys 数据库是 MySQL 5.7 引入的,旨在提供更易用的性能监控工具

2. 常用工具

2.1. mysql

-e 可以指定SQL语句,用于脚本文件

执行完之后马上退出,不会登入

2.2. mysqladmin

管理工具

可以在不登陆的情况下管理数据库,表等等

2.3. mysqlbinlog

二进制日志查看工具

二进制日志文件以二进制格式保存

2.4. mysqlshow

客户端对象查找关系,查找存在哪些数据库,数据库中的表,表中的列或者索引

数据库、表、字段 统计信息

2.5. mysqldump

备份数据库或在不同数据库之间进行数据迁移...

2.6. mysqlimport/source

数据导入工具...

可以导入 .sql 文件的全部语句,自动化执行,完成导入...

3. 日志:错误日志

错误日志是 MySQL 最重要的日志之一,记录了数据库服务器启动、运行和关闭过程中的错误信息、警告信息和启动信息。

/var/log/mysql/error.log

4. 日志:二进制日志

二进制日志用于主从复制和数据恢复。它记录了所有修改数据库数据的语句和数据定义语言语句

BINLOG 记录了 DDL 和 DML 语句,但不包含 SELECT SHOW 等语句

4.1. 作用

  1. 灾难时的数据恢复

  2. MySQL 的主从复制

  3. 默认开启...

4.2. 日志格式

  1. STATEMENT 记录 SQL 语句

  2. ROW 记录每一行的数据变更

  3. MIXED 混合前两种

4.3. 日志查看

mysqlbinlog logfile...

但是行 格式是看不到数据的,需要重构为 SQL 语句的格式

5. 日志:查询日志

记录所有的操作语句,二进制中不包含查询数据的SQL语句...

如果需要开启,要自己开,默认关闭...

6. 日志:慢查询日志

记录所有执行时间超过参数 long_query_time 值...默认未开启... 精度可以到微妙

6.1. 用途

慢查询日志用于记录执行时间超过指定阈值的查询语句,用于分析和优化慢查询,监控数据库性能瓶颈。

Last updated