一、redir Redir可以将一个机器的端口映射为本机的某个端口,支持TCP连接。 Git地址:https://github.com/troglobit/......:4001 192.168.100.100:3307 //吧192.168.100.100的3307端口映射到本机的4001端口 登录验证: # mysql -uroot -p -P4001 -h127.0.0.1...运行: /usr/local/bin/redir -n -I mysql3306 :4000 192.168.100.100:3306 二、Supervisor的安装使用 Supervisor(....conf [program:mysql3306] command=/usr/local/bin/redir -n -I mysql3306 :4000 192.168.100.100:3306 autostart...= true autorestart = true startsecs = 1 user = root stdout_logfile = /data/supervisor/logs/mysql3306
建立监控表并对表中数据进行更新。...-----------+ | 5.7.26 | +-----------+ 1 row in set Time: 0.016s 如何监控数据库的连接数 可以连接到MYSQL的线程数是有限制的。...如何计算QPS和TPS QPS 每秒钟数据查询的数量 TPS 每秒钟处理事务的数量,TPS是QPS的一个子集 如何监控数据库的并发请求数量 数据库系统的性能会随着并发处理请求数量的增加而下降...: 0.020s 并发处理的数量通常会远小于同一时间连接到数据库的线程的数量 Innoddb阻塞和死锁 组从复制 主从复制链路状态 主从复制的延迟 定期的确认主从复制的数据是否一致 服务器资源的监控...磁盘空间:服务器磁盘空间大并不意味着Mysql数据库服务能使用的空间就足够大。
前言大部分生产系统从一开始就要考虑它的 高可用 和 监控 ,数据库更是如此,这里我分享一下Mysql的监控方法----概要----环境在 Centos 6.7 下面 运行着 mysql 5.6.25 (...@mysql-server packages]# uname -r 2.6.32-573.1.1.el6.x86_64[root@mysql-server packages]# mysql -V mysql...-1.1.5-1.noarch.rpm[root@mysql-server packages]# 这个包里主要包含:一个 xml 模板 : 用来构建mysql监控模板一个 php 脚本 : 用来收集mysql...状态信息一个 shell 脚本 : 用来调用上面的脚本一个mysql 监控插件配置文件 : 用来自定义用户插件[root@mysql-server packages]# rpm -qlp percona-zabbix-templates..._2.0.9-sver1.1.5.xml[root@mysql-server packages]#
上一节内容,我们讲解了 Prometheus+Grafana 监控 MySQL,我们应该发现了,这种方案部署比较繁琐,并且监控项较少,这一节内容,我们就来聊聊另外一种 MySQL 监控方案:PMM(Percona...PMM 是一款免费的开源监控工具,可以用来监控 MySQL、MongoDB 和 PostgreSQL 等数据库。...特别对于 MySQL,还有特定对 InnoDB、TokuDB、PXC 和慢查询语句的监控 dashboard,可以说非常适合做为 MySQL 的企业级监控方案。...1 架构图 首先来看下 PMM 监控 MySQL 的整体架构图: 如上图,MySQL 和 Linux 操作系统的监控数据均由 PMM Client 获取,并传给 PMM Server,最终通过 Grafana...专栏《MySQL 监控》系列文章推荐 第01期:Prometheus+Grafana 监控 MySQL
1.拉取MySQL镜像 docker pull mysql 但是中途可能出现连接超时的情况 可以使用; docker pull do.nark.eu.org/library/mysql 用国内镜像去拉取可能会快很多...2.启动容器并做端口映射 因为MySQL是在docker里面的所以要从docker外面连接MySQL需要做端口映射 以下是端口映射的的命令: docker run --name mysql2 -e...MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql 第一个3006是外表端口,第二个是MySQL启动的端口一般第二个默认都是3006 my-secret-pw...:是给数据库的root用户设置密码 3.连接数据库 做完端口映射之后就可以尝试连接数据库了 mysql -h 127.0.0.1 -P 3306 -u root -p 本地ip加上做映射的端口:3006
朋友们,你们是否好奇目前 MySQL 主流的监控方案是什么?“悦专栏”趁这次写监控专题的机会,在文末增加了 MySQL 监控方案的投票,欢迎各位朋友参与。...这是《MySQL 监控》系列文章的第 3 节,之前我们讲解了“Prometheus+Grafana 监控 MySQL”和“PMM 监控 MySQL”,这一节内容来聊聊 Zabbix 的部署以及配置 Zabbix...监控 MySQL。...interfaces 中的 IP address 填被监控机器的 IP: 点击“Templates”,增加下图中对应的两个选项。...专栏《MySQL 监控》系列文章推荐 第01期:Prometheus+Grafana 监控 MySQL 第02期:PMM 监控 MySQL
P6Spy 监控JDBC详细配置说明 http://blog.csdn.net/u010280007/article/details/8813140 1、解压出p6spy.jar 和 spy.properties...两个文件 2、将p6spy.jar 放入应用程序的WEB-INF/lib目录,将spy.properties放入WEB-INF/classes目录(也就是工程的src下面) 3、修改spy.properties...realdriver =com.mysql.jdbc.Driver 将这行前面的#去掉 logfile = c:/spy.log 修改一个你需要的日志文件名,(下面可以配置输出到控制台)...代码 value = “oracle.jdbc.OracleDriver” /> value = “jdbc:oracle:thin:@localhost:1521:testdb” /> 使用p6spy监控...修改spy.properties,把realdriver 改为项目里使用的JDBC驱动名,如 realdriver=com.mysql.jdbc.Driver,其他的realdriver全部用#注释掉,
packages]# 拷贝配置拷贝 userparameter_percona_mysql.conf 到配置目录[root@mysql-server packages]# cp /var/lib/zabbix.../percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/[root@mysql-server packages...]# 配置密码在相应目录下创建密码配置文件 ss_get_mysql_stats.php.cnf[root@mysql-server scripts]# cat /var/lib/zabbix/percona.../scripts/ss_get_mysql_stats.php.cnf<?...php$mysql_user = 'root';$mysql_pass = 'xxxxxxx';[root@mysql-server scripts]#
测试脚本装完包后,再次执行测试脚本,就正常返回一个数字了[root@mysql-server scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh...gg0[root@mysql-server scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gt38409这个数据从哪里来的呢..., 执行脚本的过程中生成了这个文件 /tmp/localhost-mysql_cacti_stats.txt[root@mysql-server scripts]# cat /tmp/localhost-mysql_cacti_stats.txtgg...scripts]# [root@mysql-server scripts]# 这个脚本并不长,总共只有43行,是对 ss_get_mysql_stats.php 的一层包装,罗辑非常简单,看看就知道了.../lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh[root@mysql-server scripts]# cat /var/lib/zabbix
/bin/bash # 用户名 MYSQL_USER='zabbix' # 密码 MYSQL_PWD='XXXXX' # 主机地址/IP MYSQL_HOST='127.0.0.1' # 端口 MYSQL_PORT...='3306' # 数据连接 MYSQL_CONN="/usr/local/mysql/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST...版本 UserParameter=mysql.version,mysql -V # 获取mysql性能指标,这个是上面定义好的脚本 UserParameter=mysql.status[*],/etc/...-P3306 -h127.0.0.1 ping | grep -c alive 常见错误解决思路如果发现监控没有数据,请排查如下问题 zabbix客户端是否重启 脚本是否有执行权限 数据库是否有权限...如果数据库密码保存在脚本中,会导致监控没有数据会不断的报错为Warning: Using a password on the command line interface can be insecure
/mysql/bin/mysql -h${hostip} -P${port} -u${user} -p${passwd} -e "$cmd1"| grep ':' | grep -v 'Variable_name.../mysql/bin/mysql -h${hostip} -P${port} -u${user} -p${passwd} -e "$cmd5"| grep ':' | grep -A1 'log_error..._$(date +%Y_%m_%d).log /home/mysql/mysql/bin/mysql -h${hostip} -P${port} -u${user} -p${passwd} -e "$.../mysql/mysql/bin/mysql -h${hostip} -P${port} -u${user} -p${passwd} -e "$cmd4" | grep -Po '(?...:.*)') Slave_SQL_Running_S=$(/home/mysql/mysql/bin/mysql -h${hostip} -P${port} -u${user} -p${passwd}
配置密码 ss_get_mysql_stats.php.cnf安装依赖包 php php-mysql给 zabbix 赋权从 zabbix-server 进行连接测试添加模板----命令汇总mysql.../var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh.../get_mysql_stats_wrapper.shsudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh.../home/zabbix/vim .my.cnfzabbix_get -s mysql-server -p 10050 -k "MySQL.running-slave"zabbix_get -s mysql-server...-p 10050 -k "MySQL.Threads-connected"zabbix_get -s mysql-server -p 10050 -k "MySQL.max-connections"-
# 1.查找并拷贝Zabbix监控Mysql模板文件 [root@summer mysql]# find / -name user*_mysql.conf /usr/share/doc/zabbix-agent...-5.0.3/userparameter_mysql.conf [root@summer mysql]# cp /usr/share/doc/zabbix-agent-5.0.3/userparameter_mysql.conf.../userparameter_mysql.conf [root@summer mysql]# chmod a+x -R /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf...zabbix/.my.cnf [mysql] host=localhost user=root password=hadoop socket=/home/summer/mysql.../mysql.sock [mysqladmin] host=localhost user=root password=hadoop socket=/home/summer/mysql/mysql.sock
监控信息 vim /usr/local/etc/zabbix_agentd.conf UserParameter=mysql.version,mysql -V UserParameter=mysql.status...[*],/usr/local/etc/chk_mysql.sh $1 UserParameter=mysql.ping,netstat -ntpl |grep 3306 |grep mysql |wc...# Revision: 1.0 MYSQL_SOCK="/var/lib/mysql/mysql.sock" MYSQL_USER='zabbix' export MYSQL_PWD=yourpass...) result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status |grep -w...;; Com_select) result=`mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -S $MYSQL_SOCK extended-status
尝试运行一下状态收集脚本[root@mysql-server scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg...--host localhost --items gg[root@mysql-server scripts]# 安装依赖包这里提示我们系统里没有安装 php ,我们给它装上,同时我们也装上 php-mysql...,它提供了php 连接 mysql 需要的DBI[root@mysql-server scripts]# yum install php php-mysql Loaded plugins: fastestmirror...-5.3.3-46.el6_6.x86_64--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: php-mysql...[root@mysql-server scripts]#
mysql_exporter:用于收集MySQL性能信息 安装 > wget https://github.com/prometheus/mysqld_exporter/releases/download...linux-amd64 /usr/local/mysqld_exporter > chown -R prometheus:prometheus /usr/local/mysqld_exporter 登录mysql...' # 静态添加node static_configs: # 指定监控端 - targets: ['127.0.0.1:9104'] 重启prometheus服务 >...systemctl reload prometheus.service 查看监控端 访问:https://rumenz.com:9090/targets Granfana 导入Mysql 监控 选择...Import,Load框输入7362 效果展示 相关文章系统监控Prometheus安装和基本配置 系统CUP,内存,硬盘监控之node_exporter安装配置
/localhost-mysql_cacti_stats.txt': Operation not permitted0[root@mysql-server scripts]# 前一条报错的原因是 zabbix...zabbix没有写权限给zabbix赋权分别来进行处理,先处理写权限问题[root@mysql-server scripts]# chown zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt...[root@mysql-server scripts]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh...~]# chown -R zabbix.zabbix /home/zabbix/[root@mysql-server ~]# su - zabbix [zabbix@mysql-server ~]$...vim .my.cnf[zabbix@mysql-server ~]$ cat .my.cnf [client]user = rootpassword = xxxxxx[zabbix@mysql-server
再试试,就一切正常了[root@mysql-server ~]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh...running-slave 1[root@mysql-server ~]# su - zabbix [zabbix@mysql-server ~]$ /var/lib/zabbix/percona/scripts.../get_mysql_stats_wrapper.sh running-slave1[zabbix@mysql-server ~]$ 然后重启 zabbix-agent ,只有重启,zabbix-agent...zabbix-server 测试一下连接[root@zabbix-server ~]# zabbix_get -s mysql-server -p 10050 -k "MySQL.running-slave...~]# zabbix_get -s mysql-server -p 10050 -k "MySQL.max-connections" 2048[root@zabbix-server ~]#
github.com/prometheus/mysqld_exporter/releases/download/v0.12.0/mysqld_exporter-0.12.0.linux-amd64.tar.gz 登录到mysql...mysqld_exporter/bin/ mkdir -p /etc/mysqld_exporter/conf cp mysqld_exporter /etc/mysqld_exporter/bin/ 二、mysql...授权 mysqld_exporter需要连接Mysql,首先为它创建用户并赋予所需的权限: grant replication client,process on *.* to exporter@'%'...job_name: mysqld_exporter static_configs: - targets: - 192.168.1.24:9104 labels: instance: mysql...六、Grafana导入Dashboards 下载json文件 https://files.cnblogs.com/files/xiao987334176/MySQL%E7%9B%91%E6%8E%A7-
MYSQL 性能问题中,一定包含 LOCKS 的问题,我想没人反对,但如何监控他,其实说句实话,没有看到特别多的好的解决方法。...有两个极端,一个是本身在MYSQL上的程序本身基础打得好,所以MYSQL 基本上很少有DEAD LOCKS , 另外一个,恐怕是根本使用MYSQL的人就不知道怎么监控DEAD LOCK ,所以没有意识到这个问题...status 去查看死锁,是这就是mysql 5.x (5.6之前)的方法, 并且很好用。...2 确认你的wait/lock/metadata/sql/mdl 要打开, 然后你就可以去查看 你的metadata_locks 表,当然如果你还知道 threads,那你可以联合这两个tables 来将那两个语句之间进行了...当然你需要先将 innodb_locks 和 innodb_lock_waits 这两个表搞搞清楚
领取专属 10元无门槛券
手把手带您无忧上云