[转帖]Mysql DBA运维命令大全

mysql,dba,命令,大全 · 浏览次数 : 0

小编点评

**MySQL 常用运维命令大全** **1. 显示数据库大小** ```sql select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables; ``` **2. 查看指定数据库的某个表的大小** ```sql select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables where table_schema='db_school' and table_name='db_school'; ``` **3. 查看指定数据库的某个表的记录数、数据容量和索引容量** ```sql select a.SCHEMA_NAME, a.DEFAULT_CHARACTER_SET_NAME,a.DEFAULT_COLLATION_NAME,sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)',sum(truncate((data_length+index_length)/1024/1024, 2)) as '总大小(MB)',sum(truncate(max_data_length/1024/1024, 2)) as '最大值(MB)',sum(truncate(data_free/1024/1024, 2)) as '空闲空间(MB)'from INFORMATION_SCHEMA.SCHEMATA aleft outer join information_schema.tables bon a.SCHEMA_NAME=b.TABLE_SCHEMAgroup by a.SCHEMA_NAME, a.DEFAULT_CHARACTER_SET_NAME,a.DEFAULT_COLLATION_NAMEorder by sum(data_length) desc, sum(index_length) desc; ``` **4. 查看占用空间最大的前 10 张表** ```sql SELECTtable_schema AS '数据库',table_name AS '表名',a.TABLE_TYPE,a.`ENGINE`,a.CREATE_TIME,a.UPDATE_TIME,a.TABLE_COLLATION,table_rows AS '记录数',TRUNCATE ( data_length / 1024 / 1024, 2 ) AS '数据容量(MB)',TRUNCATE ( index_length / 1024 / 1024, 2 ) AS '索引容量(MB)',TRUNCATE ( ( data_length + index_length ) / 1024 / 1024, 2 ) AS '总大小(MB)'FROM information_schema.TABLES aORDER BY ( data_length + index_length ) DESCLIMIT 10; ``` **5. 查看 MySQL 的版本** * **方法 1:** `mysql -V` * **方法 2:** `mysql> show variables like '%version_%'` * **方法 3:** `which mysql |xargs file` (Linux/Unix 系统) * **方法 4:** `echo STATUS|mysql -uroot -ppassword |grep Ver`

正文

Mysql DBA运维命令大全

https://www.modb.pro/db/97499

 

中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验
B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007

微信:jem_db
QQ:2243967774

简介:
本文汇总了Mysql常用的运维命令,希望对于DBA们有帮助

1、 MySQL 的注释

MySQL 注释符有三种:
1、#...
2、"-- ..." (注意 -- 后面有一个空格)
3、/*...*/

2、 如何查看 MySQL 数据库的大小

查询所有数据的大小:
mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables;

image.png

查看指定数据库的大小,例如查看数据库db_school 的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data 
from information_schema.tables where table_schema='db_school';

image.png

查看指定数据库的某个表的大小,例如查看数据库db_school 中 db_school表的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data 
from information_schema.tables 
where table_schema='db_school' and table_name='db_school';

image.png

当前数据库实例的所有数据库及其容量大小:
select a.SCHEMA_NAME, a.DEFAULT_CHARACTER_SET_NAME,a.DEFAULT_COLLATION_NAME,
sum(table_rows) as '记录数',
sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',
sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)',
sum(truncate((data_length+index_length)/1024/1024, 2)) as '总大小(MB)',
sum(truncate(max_data_length/1024/1024, 2)) as '最大值(MB)',
sum(truncate(data_free/1024/1024, 2)) as '空闲空间(MB)'
from INFORMATION_SCHEMA.SCHEMATA a
left outer join information_schema.tables b
on a.SCHEMA_NAME=b.TABLE_SCHEMA
group by a.SCHEMA_NAME, a.DEFAULT_CHARACTER_SET_NAME,a.DEFAULT_COLLATION_NAME
order by sum(data_length) desc, sum(index_length) desc;

image.png

占用空间最大的前 10 张表
SELECT
table_schema AS '数据库',
table_name AS '表名',
a.TABLE_TYPE,
a.`ENGINE`,
a.CREATE_TIME,
a.UPDATE_TIME,
a.TABLE_COLLATION,
table_rows AS '记录数',
TRUNCATE ( data_length / 1024 / 1024, 2 ) AS '数据容量(MB)',
TRUNCATE ( index_length / 1024 / 1024, 2 ) AS '索引容量(MB)',
TRUNCATE ( ( data_length + index_length ) / 1024 / 1024, 2 ) AS '总大小(MB)'
FROM information_schema.TABLES a
ORDER BY ( data_length + index_length ) DESC
LIMIT 10;

image.png

3.如何查看MySQL的版本?

有如下几种办法:
① mysql -V
② mysql> show variables like '%version_%';
③ which mysql |xargs file (linux/unix 系统)
④ echo STATUS|mysql -uroot -ppassword |grep Ver

本文如有错误或不完善的地方请大家多多指正,
留言微信:jem_db 或 QQ:2243967774 皆可,您的批评指正是我写作的最大动力!

与[转帖]Mysql DBA运维命令大全相似的内容:

[转帖]Mysql DBA运维命令大全

Mysql DBA运维命令大全 https://www.modb.pro/db/97499 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM、Mysql、Oceanbase(OBCA)认证

[转帖]第一章 MySQL 8.0 介绍及安装配置

第一章 MySQL 8.0 介绍及安装配置 https://www.jianshu.com/p/d190c6b3520d 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品

[转帖]第二章 MySQL的体系结构与基础管理

第二章 MySQL的体系结构与基础管理 https://www.jianshu.com/p/6d017ac5e685 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品视频

[转帖]第五章 MySQL 存储引擎

第五章 MySQL 存储引擎 https://www.jianshu.com/p/d12191803f17 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品视频(2021

[转帖]Redis 运维实战 第01期:Redis 复制

https://cloud.tencent.com/developer/article/1986816 作者简介 马听,多年 DBA 实战经验,对 MySQL、 Redis、ClickHouse 等数据库有一定了解,专栏《一线数据库工程师带你深入理解 MySQL》作者。 从这篇文章开始,将出几期 R

[转帖]第六章 日志管理

第六章 日志管理 https://www.jianshu.com/p/e0d95da89fee 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品视频(2021 5月全新录

[转帖]第七章 备份恢复

第七章 备份恢复 https://www.jianshu.com/p/e62d83516e75 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品视频(2021 5月全新录

[转帖]第四章节 索引及执行计划

第四章节 索引及执行计划 https://www.jianshu.com/p/fdd3c5e815e9 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品视频(2021 5

[转帖]第三章 SQL 基础及元数据获取

第三章 SQL 基础及元数据获取 https://www.jianshu.com/p/f07416c419da 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品视频(20

[转帖]技术分享 | 国产麒麟 arm 上编译安装 xtrabackup8

原创 发布于 2022-07-19 13:29:29 3220 举报 作者:王向 爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理。擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随