Mysql运维脚本

Posted by Wh0ami-hy on October 17, 2024

1. 获取基本配置信息

是否区分表名大小写 SHOW VARIABLES LIKE 'lower_case_table_names'
MySQL 服务端口 SHOW VARIABLES LIKE 'port';
MySQL socket 文件路径 SHOW VARIABLES LIKE 'socket';
是否跳过域名解析 SHOW VARIABLES LIKE 'skip_name_resolve';
数据库字符集 SHOW VARIABLES LIKE 'character_set_server';
服务器默认的校对规则 SHOW VARIABLES LIKE 'collation_server';
交互式连接超时时间(秒):SHOW VARIABLES LIKE 'interactive_timeout';
非交互式连接超时时间(秒):SHOW VARIABLES LIKE 'wait_timeout';
事务隔离级别:SHOW VARIABLES LIKE 'tx_isolation';
数据文件存放位置:SHOW VARIABLES LIKE '%datadir%';
允许的最大数据包大小:SHOW VARIABLES LIKE 'max_allowed_packet';
每个线程堆栈的大小:SHOW VARIABLES LIKE 'thread_stack';
线程缓存的大小:SHOW VARIABLES LIKE 'thread_cache_size';
可以打开的表的数量:SHOW VARIABLES LIKE 'table_open_cache';
内部临时表的最大大小:SHOW VARIABLES LIKE 'tmp_table_size';
内存中 HEAP 表的最大大小:SHOW VARIABLES LIKE 'max_heap_table_size';
MySQL 主进程文件的位置:SHOW VARIABLES LIKE 'pid_file';
错误日志文件的位置:SHOW VARIABLES LIKE 'log_error';
慢查询日志文件的位置:SHOW VARIABLES LIKE 'slow_query_log_file';
慢查询时间阈值:SHOW VARIABLES LIKE 'long_query_time';

2. 获取连接数配置信息

最大连接数:SHOW VARIABLES LIKE 'max_connections';
服务器启动以来已使用的最大连接数 SHOW status LIKE 'Max_used_connections'
达到最大连接数的时间点 SHOW STATUS LIKE 'Max_used_connections_time';
连接失败次数上限 SHOW VARIABLES LIKE 'max_connect_errors';
通过 MySQL X Protocol 已接受的连接数 SHOW STATUS LIKE 'Mysqlx_connections_accepted';
通过 MySQL X Protocol 已关闭的连接数 SHOW STATUS LIKE 'Mysqlx_connections_closed';

3. 获取 Binlog 配置信息

Binlog 文件列表:SHOW BINARY LOGS;
是否开启 Binlog:SHOW VARIABLES LIKE 'log_bin';
Binlog 同步频率:SHOW VARIABLES LIKE 'sync_binlog';
Binlog 格式:SHOW VARIABLES LIKE 'binlog_format';
文件路径 SHOW VARIABLES LIKE 'log-bin';
Binlog 索引文件位置:SHOW VARIABLES LIKE 'log_bin_index';
单个 Binlog 最大大小:SHOW VARIABLES LIKE 'max_binlog_size';
Binlog 基本名字:SHOW VARIABLES LIKE 'log_bin_basename';
Binlog 文件过期时间:SHOW VARIABLES LIKE 'expire_logs_days';
MySQL 服务器的唯一 ID:SHOW VARIABLES LIKE 'server_id';

4. 获取 GTID 配置信息

是否开启 GTID:SHOW VARIABLES LIKE 'gtid_mode';
是否强制 GTID 一致性:SHOW VARIABLES LIKE 'enforce_gtid_consistency';
查询 GTID 执行的详细情况 SELECT \* FROM mysql.gtid_executed;
是否开启级联复制:SHOW VARIABLES LIKE 'log_slave_updates';

5. InnoDB 配置信息

InnoDB 版本:SHOW VARIABLES LIKE 'innodb_version';
是否为每个 InnoDB 表创建单独的文件:SHOW VARIABLES LIKE 'innodb_file_per_table';
InnoDB 缓存池大小:SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
InnoDB 日志文件大小:SHOW VARIABLES LIKE 'innodb_log_file_size';
InnoDB 可以有多少线程同时运行:SHOW VARIABLES LIKE 'innodb_thread_concurrency';
缓冲池中脏页的最大百分比:SHOW VARIABLES LIKE 'innodb_max_dirty_pages_pct';
InnoDB 的最大写入 IO 能力:SHOW VARIABLES LIKE 'innodb_io_capacity_max';
日志缓冲区大小:SHOW VARIABLES LIKE 'innodb_log_buffer_size';
事务提交时刷新日志的频率:SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';
InnoDB IO 容量:SHOW VARIABLES LIKE 'innodb_io_capacity';
缓冲池实例数:SHOW VARIABLES LIKE 'innodb_buffer_pool_instances';

6. 监控指标

全局状态信息:SHOW GLOBAL STATUS;
当前所有线程的信息:SHOW PROCESSLIST;
当前打开的连接数:SHOW STATUS LIKE 'Threads_connected';
当前线程缓存中有多少空闲线程:SHOW STATUS LIKE 'Threads_cached';
从最近一次服务启动,已创建线程的数量:SHOW STATUS LIKE 'Threads_created';
当前激活的线程数:SHOW STATUS LIKE 'Threads_running';
慢查询的次数:SHOW STATUS LIKE 'Slow_queries';
InnoDB 读取的行数:SHOW STATUS LIKE 'Innodb_rows_read';
InnoDB 写入的行数:SHOW STATUS LIKE 'Innodb_rows_inserted';
InnoDB 更新的行数:SHOW STATUS LIKE 'Innodb_rows_updated';
InnoDB 删除的行数:SHOW STATUS LIKE 'Innodb_rows_deleted';

本站总访问量