匿名通过本文主要向大家介绍了MySQL ,性能监控,灾难恢复等相关知识,希望本文的分享对您有所帮助
监控方案:
up.time http:/// 收费 Cacti http:/// KDE System Guard(KSysGuard) http:/// Gnome System Monitor http:/// Nagios http:/// Shinken http:/// (个人觉得比nagios好用) Sun Management Center http:/// MySQL Enterprise Monitor http:///
Linux和UNIX系统监控工具
ps 系统进程 top cpu使用率排序的活动进程 vmstat 显示分页、内存、块传输、cpu活动相关 uptime 显示系统运行时间及1、5、15分钟系统平均负载 free 显示内存使用率 iostat 显示平均磁盘活动和处理器负载 centos: yum install sysstat sar 系统活动报告、允许收集和报告各种系统活动 pmap 显示各种进程分别占用内存情况 mpstat 多处理器系统的cpu使用率 centos: yum install sysstat netstat 网络活动 cron 定时进程执行系统(计划任务)
设置、读取系统变量
SHOW [GLOBAL | SESSION] VARIABLES; SET [GLOBAL | SESSION] <variable_name> = <value>; SET [@@global. | @@session. | @@] <variable_name>=<value>; SHOW STATUS; SHOW SESSION STATUS; SHOW GLOBAL STATUS;
SQL 命令
SHOW INDX FROM <table> //显示指定表的索引基数统计信息 SHOW PLUGINS //显示所有已知插件列表 SHOW [FULL] PROCESSLIST //显示系统上运行的所有线程。 SHOW [GLOBAL | SESSION] STATUS //显示所有系统变量值 SHOW TABLE [FROM <db>] STATUS //显示给定数据库的表的详情 SHOW [GLOBAL | SESSION] VARIABLES //显示系统变量
为了查看较少的信息,可使用 like '<pattern>' 从句,like 语句中可使用标准MySQL正则表达式符号和控制符
SHOW ENGINE <engine_name> LOGS //显示指定存储引擎的日志信息 SHOW ENGINE <engine_name> STATUS //显示指定存储引擎状态信息 SHOW ENGINES //显示所有可用的存储引擎的列表及状态 SHOW BINARY LOGS //显示服务器二进制LOG列表 SHOW RELAYLOG EVENTS [IN '<log_file>'] [FROM <pos>] [LIMIT [<offset>, ] <row count>] //仅限制查看Slave上的中继日志 SHOW MASTER STATUS //显示Master当前配置,显示当前二进制日志文件,文件位置等 SHOW SLAVE HOSTS //使用--report-host 选项显示连接到Master的slave列表 SHOW SLAVE STATUS //显示复制中slave的系统状态
MySQL GUI工具
MySQL Administrator MySQL Query Browser MySQL Migration Toolkit //用于自动从其他数据库系统上迁移数据
第三方工具
MySAR 系统活动报告 mytop 监控线程统计信息和Mysql常规性能统计信息 innotop 用于监控InnoDB性能和MySQL服务器 MONyog (MySQL Monitor and Advisor) mysql监控工具,主动监控方案 MySQL Benchmark套件 MySQL基准测试 ./run-all-tests --server=mysql --cmp=mysql --user=root --socket=<socket>
测量数据库性能
EXPLAIN 分析关于如何执行SELECT语句的信息 ANALYZE [ LOCAL | NO_WRUTE_TO_BINLOG ] TABLE #[ LOCAL | NO_WRUTE_TO_BINLOG ] 可防止命令写入二进制日志。 SHOW INDEX FROM TABLE OPTIMIZE [ LOCAL | NO_WRUTE_TO_BINLOG ] TABLE <table_list> #重构一个或多个表的数据结构,整理存储空间 SHOW FULL PROCESSLIST; 查看所有进程信息
数据库优化
1、谨慎而有效的使用索引
2、使用规范化(范式),但不要过头
3、使用正确的存储引擎
alter table t1 ENGINE=MEMORY;
提高性能的最佳实践
1、一切都很慢(检查问题)
* 检查硬件
* 改善硬件环境(如添加硬盘)
*