MHA;高可用
Dockerhub地址:https://hub.docker.com/repository/docker/hcymysql/mysql_monitorGithub地址:https://github.com/hcymysql/mysql_monitorOS: Cenots7/8shell> yum install podman* container* -y1) 拉取镜像she
ansible简易版
start transaction和start transaction with consistent snapshot区别,可作为面试题。废话不多说,直接上案例。表结构如下:CREATE TABLE `t1` ( `id` int NOT NULL, `name` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;默认均
MariaDB 10.6.5稳定版GA发布于2021年11月8日。新功能和改进1)数据字典改进支持原子DDL(atomic DDL)MariaDB 10.6使用新的数据字典,废弃了MyISAM系统表。MySQL库元信息存储在数据目录中mysql.ibd的innodb表空间文件中。新的数据字典支持原子DDL(atomic DDL)功能,这意味着,当执行DDL时,数据字典更新、存储引擎操作和二进制日志
添加新的分区,报错代码如下:mysql> alter table t1 ADD PARTITION(partition p3 values less than(200));ERROR 1481 (HY000): MAXVALUE can only be used in last partition definition表结构:CREATE TABLE t1 ( id int NOT NU
例:ck2 :) SET allow_experimental_database_materialize_mysql = 1ck2 :) CREATE DATABASE t2 ENGINE = MaterializedMySQL('172.19.136.32:3306', 'test', 'hcy', '123456') 会报错如下信息:Received exception from server
ERROR 1118 (42000) at line 5: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.解决方案:关闭InnoDB严格模式set gl
数据库90%的性能问题由于SQL引起,线上SQL的执行快慢,直接影响着系统的稳定性。 如果你刚入职一家公司,线上数据库CPU被慢SQL给打爆,而你又不敢直接将慢SQL杀死,万一出点事自己负连带责任。 退而求其次,利用MySQL 8.0资源组该功能,有效解决慢SQL引发CPU告警。 资源组的作用是资源隔离(你可以理解为开通云主机时勾选的硬件配置),将线上的慢SQL线程id分配给CPU一个核,让它慢慢
《MySQL运维进阶指南》即是《MySQL管理之道:性能调优、高可用与监控(第2版)》一书的第三版。选题思路本书以构建高性能MySQL服务器为核心,介绍了MySQL 8.0和MariaDB 10.5版本的新特性,从故障诊断与优化、性能调优、备份与恢复、MySQL高可用集群搭建与管理、OLAP数据仓库搭建、MySQL服务器性能和服务监控、SQL自动审核上线等方面多角度深入讲解了如何去管理与维护MyS
刷脉脉,发现一个帖子讨论幻读问题:https://maimai.cn/web/gossip_detail?src=app&webid=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlZ2lkIjoiN2JmMjA4ZDZjNzU0MTFlYWExOTk4MDE4NDRlNTAxOTAiLCJ1IjoyMjM0MjgzMTksImlkIjoyNjc0NDU3
Oplog注意事项 盖子集合(Capped Collections),4.4版本之前的工作机制类似MySQL的Redo log,循环覆盖写。工作原理:1)存1-N增删改记录,写满了自动覆盖最旧的文档,循环写,类似Redo log。2)Secondary在本地找到Oplog同步复制的点为27,发送请求告知Primary从序号28开始同步数据3)Primary在本地搜索到28后,发送之后的数据给Se
Replication复制权限发生变化1) SHOW MASTER STATUS语句更名为SHOW BINLOG STATUS 2) REPLICATION CLIENT权限更名为BINLOG MONITOR 3) SHOW BINLOG EVENTS语句需要BINLOG MONITOR权限 4) SHOW SLAVE HOSTS语句需要REPLICATION MASTER ADMIN权限
在传统认知下,基于binlog为statement语句的复制,触发器会在slave从库上工作;而如果基于binlog为ROW行的复制,触发器不会在slave从库上工作。With statement-based replication, triggers executed on the master also execute on the slave. With row-based replicat
可以使用语法DELETE ... RETURNING select_expr [,select_expr2 ...]将单个表的已删除行的结果集返回给客户端。例如:这样的好处是,DBA手滑也没有关系,可以快速找回误删除的数据。执行的时候,可以在SecureCRT或Xshell里开启日志记录功能,方便找回数据。注:1)不支持多表JOIN删除,可以支持子查询2)UPDATE不支持RETURNING数据回
MariaDB 10.5 新的ALTER TABLE语法ALTER TABLE t1 RENAME COLUMN c_old TO c_new;例:1000万行数据秒级更改字段名字,不锁表。
EXCEPT 返回两个结果集的差 INTERSECT 返回两个结果集的交集举例说明:mysql> CREATE TABLE t1 (id INT); Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE t2 (id INT); Query OK, 0 rows affected (0.01 sec) mysql&g
简介MongoDB的慢SQL日志是记录到业务库的system.profile表里,当线上DB运行缓慢时,开发通常联系DBA去排查问题,那么可以将这种机械化的工作,做成一个平台化、可视化的工具出来,让开发在网页里点点鼠标即可查看数据库运行状况,这将大大提高工作效率,降低对DBA的依赖。参考了Percona pt-mongodb-query-digest工具抓取分析的展示思路,并用PHP重构,将分析结
MySQL语法MongoDB语法select * from t1;db.t1.find({},{_id:0})select id,name from t1;db.t1.find({},{_id:0,id:1,name:1})select id,name from t1 limit 1;db.t2.findOne({},{_id:0,id:1,name:1})select id,name from
简介:借鉴了Percona PMM Grafana以及官方自带的mongostat工具输出的监控指标项,目前采集了数据库连接数、QPS/TPS、内存使用率统计,副本集状态和同步延迟监控。 可实现微信和邮件报警。Github: https://github.com/hcymysql/mongo_monitor
一款轻量级os系统可视化监控指标工具,采集的指标有cpu idle空闲使用率,cpu load负载使用率,内存使用率,磁盘空间使用率。 工作流程:Agent端从Server端os_status_info表中,获取被监控主机的各项系统阀值,采集客户端主机资源信息完成入库和报警,Server端用来监控客户端主机ssh是否存活和页面信息展示,可实现微信和邮件报警。
MySQL 8.0.19支持输入3次密码错误,锁定账户功能例子:>CREATE USER 'hechunyang'@'localhost' IDENTIFIED BY '123456' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 3;FAILED_LOGIN_ATTEMPTS:代表尝试失败的次数PASSWORD_LOCK_TIME:代表锁定的时间,单
1、账户锁定支持管理员锁定/解锁用户帐户,语句: 1 锁定ALTER USER 'hechunyang'@'%' ACCOUNT LOCK; 当锁定后,用户再次登录时,提示如下信息:# mysql -h127.0.0.1 -uhechunyang -p -P3312Enter password: ERROR 4151 (HY000): Access denied, this account is
通常情况下,我们希望由内到外,先完成内表里的查询结果,然后驱动外查询的表,完成最终查询,但是子查询会先扫描外表中的所有数据,每条数据将会传到内表中与之关联,如果外表很大的话,那么性能上将会很差。在MySQL 8.0.18版本里,支持对NOT IN/EXISTS子查询语句,优化器内部自动反转为AntiJoin反连接查询。让我们看一个例子explain select * from t1 where i
MySQL 8.0 Query Rewrite支持SELECT INSERT UPDETE DELETE REPLACE语句重写这个功能要点赞,比如开发上线时,有个SQL查询字段索引忘记加了,直接把线上CPU打满,此时,你可以将SQL重写,让业务先报错,别打死数据库,然后马上通知开发回滚,等加完索引后再上线。安装插件mysql -S /tmp/mysql_hcy.sock -p123456 <
资源组的作用是资源隔离(你可以理解为开通云主机时勾选的硬件配置),将线上的慢SQL线程id分配给CPU一个核,让它慢慢跑,从而不影响CPU整体性能。 创建一个资源组mysql> create resource group slowsql_rg type=user vcpu=3 thread_priority=19 enable;slowsql_rg为资源组名字type=user 来源是用户
随着Percona XtraBackup 8.0的推出,Percona XtraBackup 2.4将继续支持MySQL和Percona Server 5.6和5.7数据库。由于MySQL 8.0在数据字典,重做日志和撤消日志中引入的更改与以前的版本不兼容,因此Percona XtraBackup 8.0 目前不支持8.0之前的版本。压缩模式需要先安装Percona自研的qpress压缩工具。#
mysql_monitor简介: 目前常用开源监控工具有nagios,zabbix,grafana,但这些是面向专业DBA使用的,而对于业务研发人员来说,没有专业的MySQL理论知识,并且上述监控工具均为纯英文界面,交互不直观,那么多的监控指标,你知道有哪些是研发最关心的吗?所以每次都是DBA通知研发,系统哪块出了问题,这样的效率其实是低下的,我是希望把监控这块东西定制化,做成开发一眼就能看懂的指
unix_socket认证插件允许用户通过本地Unix套接字文件连接到MariaDB的时候使用操作系统的凭证。通俗的讲就是用Linux操作系统的账号,去登录MariaDB/MySQL数据库。这个功能是在MariaDB10.4.6版本里添加的,目前也支持在MySQL8.0.18版本中。用法:1、安装插件mysql>INSTALLPLUGINauth_socketSONAME'auth_socket.
在讲解pt-osc内部处理流程前,我们先通过下面的例子,看看rename交换表后,子表的信息。-- 创建一个父表 CREATE TABLE parent ( id int(11) NOT NULL auto_increment, parent_id int, PRIMARY KEY (id), KEY IX_parent_id (parent_id) ) ENGINE=InnoDB; -- 创
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号