使用mytop监控mysql

mytop 是一个不错的实时查看mysql 状态的命令行工具,使用简单

安装

yum install -y mytop

环境准备

docker-compose 创建服务

version: "3"
services:
  mysql:
    image: mysql:5.7.16
    ports:
      - 3306:3306
    volumes: 
    - "./my.cnf:/etc/mysql/my.cnf"
    environment:
      MYSQL_ROOT_PASSWORD: dalongrong
      MYSQL_DATABASE: gogs
      MYSQL_USER: gogs
      MYSQL_PASSWORD: dalongrong
      TZ: Asia/Shanghai

mysql config

[mysqld]
 max_connections=4000
 collation_server=utf8mb4_unicode_ci
 character-set-server=utf8mb4

启动mysql

docker-compose up -d

配置mytop

使用配置文件 ~/.mytop

user=gogs
pass=dalongrong
host=127.0.0.1
db=gogs
delay=5
port=3306
header=1
color=1
idle=1

一个简单的压力测试

使用sysbench , 具体的安装以及使用可以参考相关文章

  • 创建测试数据库
create databse test;
  • 准备测试数据
sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password=dalongrong --table_size=500000 --tables=10 --threads=30 --time=60 --report-interval=10 --db-driver=mysql prepare
  • 运行压力测试
sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password=dalongrong --table_size=500000 --tables=10 --threads=30 --time=60 --report-interval=10 --db-driver=mysql run
  • mytop 效果

使用mytop监控mysql_编程

 

 

使用mytop监控mysql_编程_02

 

 

  • 清理数据
sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password=dalongrong --table_size=500000 --tables=10 --threads=30 --time=60 --report-interval=10 --db-driver=mysql cleanup

参考资料

https://www.digitalocean.com/community/tutorials/how-to-use-mytop-to-monitor-mysql-performance
https://www.howtoing.com/how-to-use-mytop-to-monitor-mysql-performance
https://github.com/akopytov/sysbench