内容简介:本文主要介绍MariaDB日常巡检与健康检查的方法与实践,包括日常巡检的基本概念、健康检查的基本概念、巡检与健康检查的重要性等内容。通过实际案例讲解日常巡检实施、健康检查实施和问题处理流程,帮助读者掌握MariaDB日常巡检与健康检查的技能。风哥教程参考MariaDB官方文档Monitoring等相关内容。
Part01-基础概念与理论知识
1.1 日常巡检的基本概念
日常巡检是指定期对数据库系统进行检查,以确保系统的正常运行。日常巡检的主要内容包括:
- 系统状态检查:检查数据库服务是否正常运行
- 性能检查:检查数据库的性能指标,如响应时间、吞吐量等
- 资源使用检查:检查CPU、内存、磁盘等资源的使用情况
- 安全检查:检查数据库的安全配置,如用户权限、密码策略等
- 备份检查:检查备份是否正常执行,备份文件是否完整
1.2 健康检查的基本概念
健康检查是指对数据库系统的健康状态进行评估,以发现潜在的问题。健康检查的主要内容包括:
- 数据库状态:检查数据库的运行状态,如连接数、线程数等
- 存储状态:检查磁盘空间、表空间使用情况等
- 性能状态:检查查询性能、索引使用情况等
- 错误日志:检查错误日志,发现潜在的问题
- 配置状态:检查数据库配置是否合理
1.3 巡检与健康检查的重要性
巡检与健康检查的重要性:
- 提前发现问题:通过定期巡检和健康检查,可以提前发现潜在的问题,避免问题扩大
- 确保系统稳定:及时发现并解决问题,确保系统的稳定运行
- 优化系统性能:通过检查性能指标,发现性能瓶颈,优化系统性能
- 保障数据安全:检查安全配置,确保数据的安全性
- 合规要求:满足企业内部和外部的合规要求
更多视频教程www.fgedu.net.cn
Part02-生产环境规划与建议
2.1 巡检计划制定
巡检计划制定建议:
- 巡检频率:根据系统重要性确定巡检频率,如每日、每周、每月
- 巡检内容:根据系统特点确定巡检内容,如系统状态、性能、资源使用等
- 巡检人员:明确巡检人员及其职责
- 巡检工具:选择合适的巡检工具,如MySQL Enterprise Monitor、Percona Monitoring and Management等
- 巡检报告:定期生成巡检报告,记录巡检结果和发现的问题
2.2 健康检查指标
健康检查指标建议:
- 系统指标:CPU使用率、内存使用率、磁盘使用率、网络流量等
- 数据库指标:连接数、线程数、查询执行时间、缓存命中率等
- 存储指标:磁盘空间使用情况、表空间使用情况、索引使用情况等
- 安全指标:用户权限、密码策略、审计日志等
- 备份指标:备份执行状态、备份文件完整性、备份恢复测试等
2.3 监控方案
监控方案建议:
- 监控工具:选择合适的监控工具,如Prometheus、Grafana、Nagios等
- 监控指标:设置关键监控指标,如系统状态、性能、资源使用等
- 告警机制:设置合理的告警阈值,当指标超过阈值时及时告警
- 监控 dashboard:创建监控 dashboard,实时查看系统状态
- 监控数据存储:存储监控数据,用于趋势分析和问题排查
学习交流加群风哥微信: itpux-com
Part03-生产环境项目实施方案
3.1 日常巡检实施
更多学习教程公众号风哥教程itpux_com
# 日常巡检实施
# 1. 系统状态检查
# 检查MariaDB服务状态
systemctl status mariadb
# 检查MariaDB进程
ps -ef | grep mysqld
# 2. 性能检查
# 检查连接数
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Threads%’;
”
# 检查查询执行情况
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Queries’;
”
# 检查缓存命中率
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Qcache%’;
”
# 3. 资源使用检查
# 检查CPU使用率
top
# 检查内存使用率
free -m
# 检查磁盘使用率
df -h
# 检查磁盘I/O
iostat -x
# 4. 安全检查
# 检查用户权限
mysql -u root -p -e “SELECT user, host FROM mysql.user;
”
# 检查密码策略
mysql -u root -p -e “SHOW VARIABLES LIKE ‘validate_password%’;
”
# 5. 备份检查
# 检查备份文件
ls -la /backup/mariadb/
# 检查备份日志
cat /var/log/mariadb/backup.log
# 1. 系统状态检查
# 检查MariaDB服务状态
systemctl status mariadb
# 检查MariaDB进程
ps -ef | grep mysqld
# 2. 性能检查
# 检查连接数
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Threads%’;
”
# 检查查询执行情况
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Queries’;
”
# 检查缓存命中率
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Qcache%’;
”
# 3. 资源使用检查
# 检查CPU使用率
top
# 检查内存使用率
free -m
# 检查磁盘使用率
df -h
# 检查磁盘I/O
iostat -x
# 4. 安全检查
# 检查用户权限
mysql -u root -p -e “SELECT user, host FROM mysql.user;
”
# 检查密码策略
mysql -u root -p -e “SHOW VARIABLES LIKE ‘validate_password%’;
”
# 5. 备份检查
# 检查备份文件
ls -la /backup/mariadb/
# 检查备份日志
cat /var/log/mariadb/backup.log
3.2 健康检查实施
# 健康检查实施
# 1. 数据库状态检查
# 检查数据库运行状态
mysql -u root -p -e “SHOW GLOBAL STATUS;
”
# 检查数据库配置
mysql -u root -p -e “SHOW VARIABLES;
”
# 2. 存储状态检查
# 检查表空间使用情况
mysql -u root -p -e “SELECT table_schema, SUM(data_length + index_length) / 1024 / 1024 AS size_mb FROM information_schema.tables GROUP BY table_schema;
”
# 检查磁盘空间使用情况
df -h /var/lib/mysql/
# 3. 性能状态检查
# 检查慢查询
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
# 检查索引使用情况
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Handler_read%’;
”
# 4. 错误日志检查
# 检查错误日志
tail -n 100 /var/log/mariadb/mariadb.log
# 5. 配置状态检查
# 检查关键配置参数
mysql -u root -p -e “SHOW VARIABLES LIKE ‘innodb_buffer_pool_size’;
”
mysql -u root -p -e “SHOW VARIABLES LIKE ‘max_connections’;
”
mysql -u root -p -e “SHOW VARIABLES LIKE ‘query_cache_size’;
”
# 1. 数据库状态检查
# 检查数据库运行状态
mysql -u root -p -e “SHOW GLOBAL STATUS;
”
# 检查数据库配置
mysql -u root -p -e “SHOW VARIABLES;
”
# 2. 存储状态检查
# 检查表空间使用情况
mysql -u root -p -e “SELECT table_schema, SUM(data_length + index_length) / 1024 / 1024 AS size_mb FROM information_schema.tables GROUP BY table_schema;
”
# 检查磁盘空间使用情况
df -h /var/lib/mysql/
# 3. 性能状态检查
# 检查慢查询
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
# 检查索引使用情况
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Handler_read%’;
”
# 4. 错误日志检查
# 检查错误日志
tail -n 100 /var/log/mariadb/mariadb.log
# 5. 配置状态检查
# 检查关键配置参数
mysql -u root -p -e “SHOW VARIABLES LIKE ‘innodb_buffer_pool_size’;
”
mysql -u root -p -e “SHOW VARIABLES LIKE ‘max_connections’;
”
mysql -u root -p -e “SHOW VARIABLES LIKE ‘query_cache_size’;
”
3.3 问题处理流程
# 问题处理流程
# 1. 问题发现
# 通过巡检或监控发现问题
# 2. 问题分析
# 收集问题相关信息
# 分析问题原因
# 3. 问题解决
# 制定解决方案
# 实施解决方案
# 验证解决方案
# 4. 问题记录
# 记录问题描述、原因、解决方案
# 记录问题处理时间和处理人员
# 5. 问题预防
# 分析问题根因
# 制定预防措施
# 实施预防措施
# 1. 问题发现
# 通过巡检或监控发现问题
# 2. 问题分析
# 收集问题相关信息
# 分析问题原因
# 3. 问题解决
# 制定解决方案
# 实施解决方案
# 验证解决方案
# 4. 问题记录
# 记录问题描述、原因、解决方案
# 记录问题处理时间和处理人员
# 5. 问题预防
# 分析问题根因
# 制定预防措施
# 实施预防措施
学习交流加群风哥QQ113257174
Part04-生产案例与实战讲解
4.1 日常巡检实战案例
场景描述:执行MariaDB日常巡检,检查系统状态、性能和资源使用情况。
# 日常巡检实战
# 1. 系统状态检查
[root@server ~]# systemctl status mariadb
● mariadb.service – MariaDB 10.5 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service;
enabled;
vendor preset: disabled)
Active: active (running) since Sun 2023-01-01 10:00:00 CST;
1h ago
Main PID: 12345 (mysqld)
Status: “Taking your SQL requests now…”
CGroup: /system.slice/mariadb.service
└─12345 /usr/sbin/mysqld
# 2. 性能检查
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Threads%’;
”
Enter password:
+————————-+——-+
| Variable_name | Value |
+————————-+——-+
| Threads_cached | 5 |
| Threads_connected | 10 |
| Threads_created | 20 |
| Threads_running | 2 |
+————————-+——-+
# 3. 资源使用检查
[root@server ~]# free -m
total used free shared buff/cache available
Mem: 8192 2048 4096 0 2048 6144
[root@server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 30G 40% /
/dev/sdb1 100G 50G 50G 50% /var/lib/mysql
# 4. 安全检查
[root@server ~]# mysql -u root -p -e “SELECT user, host FROM mysql.user;
”
Enter password:
+——+———–+
| user | host |
+——+———–+
| root | fgedu.localhost |
| app | % |
+——+———–+
# 5. 备份检查
[root@server ~]# ls -la /backup/mariadb/
total 204800
-rw-r–r– 1 root root 209715200 Jan 1 00:00 full_backup.sql
# 1. 系统状态检查
[root@server ~]# systemctl status mariadb
● mariadb.service – MariaDB 10.5 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service;
enabled;
vendor preset: disabled)
Active: active (running) since Sun 2023-01-01 10:00:00 CST;
1h ago
Main PID: 12345 (mysqld)
Status: “Taking your SQL requests now…”
CGroup: /system.slice/mariadb.service
└─12345 /usr/sbin/mysqld
# 2. 性能检查
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Threads%’;
”
Enter password:
+————————-+——-+
| Variable_name | Value |
+————————-+——-+
| Threads_cached | 5 |
| Threads_connected | 10 |
| Threads_created | 20 |
| Threads_running | 2 |
+————————-+——-+
# 3. 资源使用检查
[root@server ~]# free -m
total used free shared buff/cache available
Mem: 8192 2048 4096 0 2048 6144
[root@server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 30G 40% /
/dev/sdb1 100G 50G 50G 50% /var/lib/mysql
# 4. 安全检查
[root@server ~]# mysql -u root -p -e “SELECT user, host FROM mysql.user;
”
Enter password:
+——+———–+
| user | host |
+——+———–+
| root | fgedu.localhost |
| app | % |
+——+———–+
# 5. 备份检查
[root@server ~]# ls -la /backup/mariadb/
total 204800
-rw-r–r– 1 root root 209715200 Jan 1 00:00 full_backup.sql
执行结果:
# 日常巡检结果
# 系统状态:正常
# 性能状态:连接数正常,线程数正常
# 资源使用:内存使用率25%,磁盘使用率40%,充足
# 安全状态:用户权限合理
# 备份状态:备份文件存在,完整
# 系统状态:正常
# 性能状态:连接数正常,线程数正常
# 资源使用:内存使用率25%,磁盘使用率40%,充足
# 安全状态:用户权限合理
# 备份状态:备份文件存在,完整
4.2 健康检查实战案例
场景描述:执行MariaDB健康检查,检查数据库状态、存储状态和性能状态。
# 健康检查实战
# 1. 数据库状态检查
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Uptime’;
”
Enter password:
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Uptime | 3600 |
+—————+——-+
# 2. 存储状态检查
[root@server ~]# mysql -u root -p -e “SELECT table_schema, SUM(data_length + index_length) / 1024 / 1024 AS size_mb FROM information_schema.tables GROUP BY table_schema;
”
Enter password:
+——————–+———+
| table_schema | size_mb |
+——————–+———+
| fgedudb | 1024.00 |
| mysql | 100.00 |
| information_schema | 0.00 |
| performance_schema | 0.00 |
+——————–+———+
# 3. 性能状态检查
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
Enter password:
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Slow_queries | 0 |
+—————+——-+
# 4. 错误日志检查
[root@server ~]# tail -n 100 /var/log/mariadb/mariadb.log
# 无错误信息
# 5. 配置状态检查
[root@server ~]# mysql -u root -p -e “SHOW VARIABLES LIKE ‘innodb_buffer_pool_size’;
”
Enter password:
+————————-+———+
| Variable_name | Value |
+————————-+———+
| innodb_buffer_pool_size | 4294967296 |
+————————-+———+
# 1. 数据库状态检查
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Uptime’;
”
Enter password:
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Uptime | 3600 |
+—————+——-+
# 2. 存储状态检查
[root@server ~]# mysql -u root -p -e “SELECT table_schema, SUM(data_length + index_length) / 1024 / 1024 AS size_mb FROM information_schema.tables GROUP BY table_schema;
”
Enter password:
+——————–+———+
| table_schema | size_mb |
+——————–+———+
| fgedudb | 1024.00 |
| mysql | 100.00 |
| information_schema | 0.00 |
| performance_schema | 0.00 |
+——————–+———+
# 3. 性能状态检查
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
Enter password:
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Slow_queries | 0 |
+—————+——-+
# 4. 错误日志检查
[root@server ~]# tail -n 100 /var/log/mariadb/mariadb.log
# 无错误信息
# 5. 配置状态检查
[root@server ~]# mysql -u root -p -e “SHOW VARIABLES LIKE ‘innodb_buffer_pool_size’;
”
Enter password:
+————————-+———+
| Variable_name | Value |
+————————-+———+
| innodb_buffer_pool_size | 4294967296 |
+————————-+———+
执行结果:
# 健康检查结果
# 数据库状态:运行正常, uptime 3600秒
# 存储状态:fgedudb 1GB,mysql 100MB,空间充足
# 性能状态:无慢查询
# 错误日志:无错误
# 配置状态:innodb_buffer_pool_size 4GB,合理
# 数据库状态:运行正常, uptime 3600秒
# 存储状态:fgedudb 1GB,mysql 100MB,空间充足
# 性能状态:无慢查询
# 错误日志:无错误
# 配置状态:innodb_buffer_pool_size 4GB,合理
4.3 问题处理实战案例
场景描述:发现MariaDB慢查询问题,分析并解决。
# 问题处理实战
# 1. 问题发现
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
Enter password:
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Slow_queries | 10 |
# 2. 问题分析
# 查看慢查询日志
[root@server ~]# tail -n 100 /var/log/mariadb/mariadb-slow.log
# 发现慢查询:SELECT * FROM fgedu_users WHERE age > 30;
# 分析查询执行计划
[root@server ~]# mysql -u root -p -e “EXPLAIN SELECT * FROM fgedu_users WHERE age > 30;
”
Enter password:
+——+————-+————+——+—————+——+———+——+——-+————-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+——+————-+————+——+—————+——+———+——+——-+————-+
| 1 | SIMPLE | fgedu_users | ALL | NULL | NULL | NULL | NULL | 10000 | Using where |
+——+————-+————+——+—————+——+———+——+——-+————-+
# 3. 问题解决
# 创建索引
[root@server ~]# mysql -u root -p -e “CREATE INDEX idx_age ON fgedu_users(age);
”
Enter password:
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 验证索引创建
[root@server ~]# mysql -u root -p -e “SHOW INDEX FROM fgedu_users;
”
Enter password:
+————+————+———-+————–+————-+———–+————-+———-+——–+——+————+———+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+————+————+———-+————–+————-+———–+————-+———-+——–+——+————+———+
| fgedu_users | 0 | PRIMARY | 1 | id | A | 10000 | NULL | NULL | | BTREE | |
| fgedu_users | 1 | idx_age | 1 | age | A | 100 | NULL | NULL | YES | BTREE | |
+————+————+———-+————–+————-+———–+————-+———-+——–+——+————+———+
# 重新分析查询执行计划
[root@server ~]# mysql -u root -p -e “EXPLAIN SELECT * FROM fgedu_users WHERE age > 30;
”
Enter password:
+——+————-+————+——-+—————+——–+———+——+——+————-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+——+————-+————+——-+—————+——–+———+——+——+————-+
| 1 | SIMPLE | fgedu_users | range | idx_age | idx_age | 5 | NULL | 3000 | Using where |
+——+————-+————+——-+—————+——–+———+——+——+————-+
# 4. 问题验证
# 执行查询,查看执行时间
[root@server ~]# mysql -u root -p -e “SELECT * FROM fgedu_users WHERE age > 30;
”
# 执行时间明显缩短
# 5. 问题记录
# 记录问题描述、原因、解决方案
# 问题:慢查询
# 原因:缺少索引
# 解决方案:创建索引idx_age
# 1. 问题发现
[root@server ~]# mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
Enter password:
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Slow_queries | 10 |
# 2. 问题分析
# 查看慢查询日志
[root@server ~]# tail -n 100 /var/log/mariadb/mariadb-slow.log
# 发现慢查询:SELECT * FROM fgedu_users WHERE age > 30;
# 分析查询执行计划
[root@server ~]# mysql -u root -p -e “EXPLAIN SELECT * FROM fgedu_users WHERE age > 30;
”
Enter password:
+——+————-+————+——+—————+——+———+——+——-+————-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+——+————-+————+——+—————+——+———+——+——-+————-+
| 1 | SIMPLE | fgedu_users | ALL | NULL | NULL | NULL | NULL | 10000 | Using where |
+——+————-+————+——+—————+——+———+——+——-+————-+
# 3. 问题解决
# 创建索引
[root@server ~]# mysql -u root -p -e “CREATE INDEX idx_age ON fgedu_users(age);
”
Enter password:
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 验证索引创建
[root@server ~]# mysql -u root -p -e “SHOW INDEX FROM fgedu_users;
”
Enter password:
+————+————+———-+————–+————-+———–+————-+———-+——–+——+————+———+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+————+————+———-+————–+————-+———–+————-+———-+——–+——+————+———+
| fgedu_users | 0 | PRIMARY | 1 | id | A | 10000 | NULL | NULL | | BTREE | |
| fgedu_users | 1 | idx_age | 1 | age | A | 100 | NULL | NULL | YES | BTREE | |
+————+————+———-+————–+————-+———–+————-+———-+——–+——+————+———+
# 重新分析查询执行计划
[root@server ~]# mysql -u root -p -e “EXPLAIN SELECT * FROM fgedu_users WHERE age > 30;
”
Enter password:
+——+————-+————+——-+—————+——–+———+——+——+————-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+——+————-+————+——-+—————+——–+———+——+——+————-+
| 1 | SIMPLE | fgedu_users | range | idx_age | idx_age | 5 | NULL | 3000 | Using where |
+——+————-+————+——-+—————+——–+———+——+——+————-+
# 4. 问题验证
# 执行查询,查看执行时间
[root@server ~]# mysql -u root -p -e “SELECT * FROM fgedu_users WHERE age > 30;
”
# 执行时间明显缩短
# 5. 问题记录
# 记录问题描述、原因、解决方案
# 问题:慢查询
# 原因:缺少索引
# 解决方案:创建索引idx_age
执行结果:
# 问题解决结果
# 慢查询问题解决,执行时间从5秒缩短到0.1秒
# 索引创建成功,查询使用索引
# 慢查询问题解决,执行时间从5秒缩短到0.1秒
# 索引创建成功,查询使用索引
风哥提示:安全开发是防止SQL注入的第一道防线
Part05-风哥经验总结与分享
5.1 日常巡检最佳实践
风哥提示:在执行日常巡检时,应遵循最佳实践,确保巡检的有效性和全面性。
- 制定巡检计划:根据系统重要性制定合理的巡检计划
- 使用自动化工具:使用自动化工具执行巡检,提高效率
- 关注关键指标:重点关注关键指标,如系统状态、性能、资源使用等
- 定期生成报告:定期生成巡检报告,记录巡检结果和发现的问题
- 及时处理问题:发现问题及时处理,避免问题扩大
5.2 健康检查技巧
- 使用监控工具:使用监控工具实时监控系统状态
- 设置合理的告警阈值:根据系统特点设置合理的告警阈值
- 定期分析监控数据:定期分析监控数据,发现趋势和异常
- 进行性能测试:定期进行性能测试,评估系统性能
- 备份恢复测试:定期进行备份恢复测试,确保备份的有效性
5.3 常见问题与解决方案
- 慢查询:分析慢查询日志,优化查询语句,创建合适的索引
- 资源不足:增加资源,优化配置,清理无用数据
- 连接数过多:调整max_connections参数,优化应用程序连接管理
- 备份失败:检查备份脚本,确保备份目录有足够的空间,检查权限
- 安全问题:定期检查用户权限,更新密码,启用审计日志
# 日常巡检与健康检查示例
— 日常巡检
# 检查系统状态
systemctl status mariadb
# 检查性能
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Threads%’;
”
# 检查资源使用
free -m
df -h
— 健康检查
# 检查数据库状态
mysql -u root -p -e “SHOW GLOBAL STATUS;
”
# 检查存储状态
mysql -u root -p -e “SELECT table_schema, SUM(data_length + index_length) / 1024 / 1024 AS size_mb FROM information_schema.tables GROUP BY table_schema;
”
# 检查慢查询
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
— 日常巡检
# 检查系统状态
systemctl status mariadb
# 检查性能
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Threads%’;
”
# 检查资源使用
free -m
df -h
— 健康检查
# 检查数据库状态
mysql -u root -p -e “SHOW GLOBAL STATUS;
”
# 检查存储状态
mysql -u root -p -e “SELECT table_schema, SUM(data_length + index_length) / 1024 / 1024 AS size_mb FROM information_schema.tables GROUP BY table_schema;
”
# 检查慢查询
mysql -u root -p -e “SHOW GLOBAL STATUS LIKE ‘Slow_queries’;
”
通过以上措施,可以有效执行MariaDB日常巡检与健康检查,确保系统的稳定运行和性能优化。
from MariaDB视频:www.itpux.com
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
