监控sql语句(mysql)

最近在做一个工具网站,刚好看了下人人车的架构经验,看看他们的坑,我想我们的系统应该有个数据库监控和容灾的体系。

上网搜集总结下。

  数据库的设计应该是小而美,精而简的,数据库也只是整体项目的一部分,像触发器,存储过程这些能实现的,在整体项目里面肯定也可以用应用程序代码来完成。我们用MySQL,就是用它厉害的地方,比如:表、索引、事务这些,而不是要它所有的功能都得用上。MySQL5.6之前,生产环境的主库里面是不允许使用子查询的。MySQL5.6之前子查询的性能特别差。建议使用mysql5.6以后的mysql数据库

1.一个基础的sql监控,查看执行sql的耗时

  (1) 开启profiling参数 : set profiling=1;
  (2) 执行sql
  (3) 通过执行SHOW PROFILES 命令获取当前系统中保存的多个Query的profile的信息。(可选)
  (4 )计算之前执行的sql时间总和:

  不过这种方法一般的sql连接工具都会有提示

(mysql-front)

2。开启mysql的query日志,配置日志路径

  位置是 mysql.ini

  

log=C:/AppServ/MySQL/mysql.log

  这样mysql的所有sql操作都会记录到这个日志中去。

  在linux可以用命令  tail -f /var/log/mysql/mysql.log 进行实时查看

  windows没有tail命令可以下载 baretail 工具进行实时查看

时间: 2025-01-13 20:54:16

监控sql语句(mysql)的相关文章

全国省市级联数据sql语句 mysql版

全国省市级联数据sql语句 mysql版 --省级 provincial create table provincial ( provincialID int, provincialName varchar(50), primary key (provincialID) )engine=INNODB default charset=gbk; insert into provincial values(1,'北京市'); insert into provincial values(2,'天津市')

DBA 需要知道N种对数据库性能的监控SQL语句

--DBA 需要知道N种对数据库性能的监控SQL语句 -- IO问题的SQL内部分析 下面的DMV查询可以来检查当前所有的等待累积值. Select wait_type, waiting_tasks_count, wait_time_ms from sys.dm_os_wait_stats where wait_type like 'PAGEIOLATCH%' order by wait_type --可以通过运行下面的查询得到每个文件的信息,了解哪个文件经常要做读(num_of_reads/

mysql用户管理, 常用sql语句,mysql数据库备份恢复

mysql用户管理 新创建一个指定IP的用户,可以访问mysql的某些库某些表. 所有库的所有表,如果想指定访问某个库某些表,只需要修改名称user1 指定用户名br/>@后面的ip是指定ip,%表示所有的ipindentified by 后面是用户的密码验证用用户user1登录也可以指定localhost,登录时不输入本机ip地址即可访问查看授权,用于授权给新用户,新权限: 常用sql 语句 查看库表的行数搜索:select count() from mysql.user;搜索:select

常用SQL语句(Mysql)总结

1.库 1)创建数据库:create Database  database_name; database_name:(1)首字母不能是数字.$.空格.特殊字符.保留字 (2)最大128字节 (3)由字母.数字.下划线.@和$组成 2)查看数据库:show databases; 3)选择数据库:use  database_name ; 4)删除数据库:drop database  database_name; 2.存储引擎 1)查看所支持存储引擎:(1)show engines   (2)show

JDBC进阶之PreparedStatement执行SQL语句(MySQL)

一.什么是PreparedStatement 参阅Java API文档,我们可以知道,PreparedStatement是Statement的子接口(如图所示),表示预编译的 SQL 语句的对象,SQL 语句被预编译并存储在PreparedStatement 对象中.然后可以使用此对象多次高效地执行该语句. 二.通过PreparedStatement获取在运行命令行中执行的参数,将参数插入到某张数据表中 相关的实验过程,包括在预先创建程序所需数据库.创建所需数据表格.在开发环境中加载驱动程序包等

Oracle常用监控sql语句

1.监控事例的等待: select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,count(*) from v$session_wait  group by event order by 4; 2.回滚段的争用情况: select name,waits,gets,waits/gets ratio from v$rollstat a,v$rollname b where a.usn=b.usn

96.创建普通用户并授权,常用SQL语句,MySQL数据库备份与恢复

一.创建普通用户并授权 1.创建用户并授权 [[email protected] ~]# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.6.36 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/o

1.sql语句&mysql表单

一.数据库和数据库管理系统的关系 1.数据库(DataBase):存储数据的仓库,本质上是一个文件系统 2.数据库管理系统(DBMS):DBMS是一个软件,用来管理文件(DB) 二.表的介绍 1.表中的一行:一条记录 2.表中的一列:一个字段 三.表数据和Java类的关系 一张表---Java中的一个类 一个字段---类中的一个属性 一条记录---类的一个对象 四.几个常见的数据库管理系统 MySQL:开源免费的数据库,小型的数据库,已经被ORACLE收购了,MySQL6.x版本也开始收费. O

应用Druid监控SQL语句的执行情况

Druid是什么? Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss DataSource. Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验. 同时Druid不仅仅是一个数据库连接池,它包括四个部分:Druid是一个JDBC组件,它包括三个部分: 基于Filter-Chain模式的插件体系. DruidDataSource