Ubuntu24.04安装好Mysql8后,检查mysql占用的内存和磁盘

检查磁盘使用情况

1. 查看MySQL数据目录大小

查看MySQL数据目录:

bash

复制代码
sudo du -sh /var/lib/mysql

查看详细的目录结构大小:

bash

复制代码
sudo du -h --max-depth=1 /var/lib/mysql

查看磁盘总体使用情况:

bash

复制代码
df -h

2. 在MySQL内部查看数据库大小

查看所有数据库的大小:

sql

复制代码
SELECT 
    table_schema AS 'Database',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)'
FROM information_schema.tables 
GROUP BY table_schema
ORDER BY SUM(data_length + index_length) DESC;

查看具体表的大小:

sql

复制代码
SELECT 
    table_name AS 'Table',
    ROUND((data_length / 1024 / 1024), 2) AS 'Data Size (MB)',
    ROUND((index_length / 1024 / 1024), 2) AS 'Index Size (MB)',
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS 'Total Size (MB)'
FROM information_schema.tables
WHERE table_schema = 'your_database_name'
ORDER BY (data_length + index_length) DESC;

查看二进制日志大小:

sql

复制代码
SHOW BINARY LOGS;

使用监控脚本

创建监控脚本

内存监控脚本:

bash

复制代码
#!/bin/bash
# mysql_memory_monitor.sh

echo "=== MySQL Memory Usage ==="
echo "System Memory:"
free -h

echo -e "\nMySQL Process Memory:"
ps aux | grep mysql | grep -v grep | awk '{print "PID: "$2", MEM: "$4"%, VSZ: "$5", RSS: "$6}'

echo -e "\nMySQL Buffer Pool Usage:"
mysql -u root -p -e "
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW STATUS LIKE 'Innodb_buffer_pool_pages%';
" 2>/dev/null

磁盘监控脚本:

bash

复制代码
#!/bin/bash
# mysql_disk_monitor.sh

echo "=== MySQL Disk Usage ==="
echo "Data Directory Size:"
sudo du -sh /var/lib/mysql

echo -e "\nDisk Space:"
df -h /var/lib/mysql

echo -e "\nDatabase Sizes:"
mysql -u root -p -e "
SELECT 
    table_schema AS 'Database',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)'
FROM information_schema.tables 
GROUP BY table_schema
ORDER BY SUM(data_length + index_length) DESC;
" 2>/dev/null

使用专业监控工具

安装和使用mytop

bash

复制代码
sudo apt install mytop
mytop -u root -p

使用MySQL Workbench

  • 下载并安装MySQL Workbench

  • 连接到MySQL服务器

  • 使用性能仪表板查看详细指标

关键指标解读

内存相关:

  • innodb_buffer_pool_size: InnoDB缓冲池大小

  • key_buffer_size: MyISAM键缓冲大小

  • query_cache_size: 查询缓存大小

磁盘相关:

  • 数据文件 : /var/lib/mysql/ibdata1

  • 日志文件 : /var/lib/mysql/ib_logfile*

  • 二进制日志 : /var/lib/mysql/binlog.*

定期清理(如果需要)

清理二进制日志:

sql

复制代码
PURGE BINARY LOGS BEFORE NOW() - INTERVAL 7 DAY;

优化表:

sql

复制代码
OPTIMIZE TABLE table_name;

这些方法可以帮助你全面了解MySQL在Ubuntu 24.04上的内存和磁盘使用情况。

相关推荐
wefg11 小时前
【Redis】C++ 自定义客户端
数据库·redis·缓存
这个DBA有点耶2 小时前
为什么UPDATE比SELECT危险得多?锁范围等于扫描行数
数据库·架构·代码规范
天国梦2 小时前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
DB哥讲数据库2 小时前
【达梦数据库安装教程】超详细图文讲解-附达梦安装包
数据库·oracle
Hoxy.R3 小时前
【金仓数据库产品体验官】KingbaseES V9R2C16 坏块检测与修复完整测试流程
数据库
太理摆烂哥4 小时前
MySQL数据库基础
数据库·mysql
wuhuhuan5 小时前
JMeter 连接数据库并取值(JDBC 实战)
数据库·jmeter
小羊没烦恼!5 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
Rain的Java大神之路5 小时前
[特殊字符]8年Java老兵转型AI Agent:90%的人挂在同一个坑,根本不用学Python!(万字实战复盘,建议收藏)
java·数据库·人工智能·后端·python·spring·ai编程
码途行者6 小时前
缓存一致性难题:Redis 和数据库如何做到数据一致?
数据库·redis