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. 作用
灾难时的数据恢复
MySQL 的主从复制
默认开启...
4.2. 日志格式
STATEMENT 记录 SQL 语句
ROW 记录每一行的数据变更
MIXED 混合前两种
SHOW VARIABLES LIKE '%binlog_format%';
-- 现在默认是 ROW?
4.3. 日志查看
mysqlbinlog logfile...
但是行 格式是看不到数据的,需要重构为 SQL 语句的格式
5. 日志:查询日志
记录所有的操作语句,二进制中不包含查询数据的SQL语句...
如果需要开启,要自己开,默认关闭...
6. 日志:慢查询日志
记录所有执行时间超过参数 long_query_time 值...默认未开启... 精度可以到微妙
6.1. 用途
慢查询日志用于记录执行时间超过指定阈值的查询语句,用于分析和优化慢查询,监控数据库性能瓶颈。
Last updated