mysql

误用gorm引起的一宗血案

mysql

误用gorm引起的一宗血案

现象 某服务A从晚上6点开始,监控一直出现mysql调用延迟超高,http接口500飙升 原因 经查发现是一条全局update整张表的sql引起的,全局lock表 最小化 使用下面操作进行最小化 建库 create databses test; 建表 CREATE TABLE `Record` ( `id` BIGINT NOT NULL, `count` BIGINT NOT NULL, PRIMARY KEY(`id`) ) ENGINE = InnoDB; 插入一条数据 CREATE TABLE `Record` ( `id` BIGINT NOT NULL, `count` BIGINT NOT NULL, PRIMARY KEY(`id`) ) ENGINE = InnoDB; 代码如下: package main

By chainhelen

mysql

奇怪的mysql慢查询

线上问题 目前还没有未知根本缘由,线上跑了一个月左右,数据库这张表,大约有80万数据 当发生order by 和 limit 同时作为条件时,查询速度下降到3秒以上 表基本信息 首先利用 pager cat /dev/null; nopager; pager 只影响单次链接 介绍一下表的情况,id 是 唯一索引, rid(下面没用到) 是主键索引,status 是普通字段 查看表索引,可见 mysql> show index from 10000_web \G; *************************** 1. row *************************** Table: 10000_web Non_unique: 0 Key_name: PRIMARY

By chainhelen

mysql

MySQL 通用查询日志

首先推荐一款linux下的mysql客户端mycli mysql里面有很多日志,如bin日志用来恢复数据,慢查询日志用来监控查询较慢的数据 只记了通用日志的开启方式,其他的日志都是类似命令 mysql root@localhost:(none)> show global variables like '%gener%'; +------------------+--------------------------------------------+ | Variable_name | Value | |------------------+--------------------------------------------| | general_log | OFF | | general_log_file | /var/lib/mysql/iZwz92pw32r9w6beu4jlfpZ.log | +-

By chainhelen

golang

mysql数据一致性闲谈

外部连接 首先让mysql在远程服务器上,现在希望它能被外部ip访问 在/etc/my.cnf里面,找到bind-address修改为0.0.0.0, //重启mysql service mysql restart //查看mysql服务 netstat -anp | grep mysqld 看到如下监听端口已经是0.0.0.0 但是发现外部ip还是访问不了远程的mysql 现在远程服务器上用mysql-client连上 //root 是用户名 mysql -u root -p //mysql本身的数据库 use mysql //创建 create user 'mysqlremoteusername'@'0.0.0.0' identified

By chainhelen