check-for-server-upgrade参数用于运行MySQL升级前检查工具,扫描当前数据库(版本5.7.42)与目标版本(8.0.41)的兼容性,识别潜在问题(如表损坏、字符集不兼容、保留关键字冲突、系统变量默认值变更等),并生成详细报告以指导用户在升级前修复或调整配置。使用:./mysqlsh -S /tmp/mysql_mysql57_1.sock -- util check-fo
对于需要管理大量时间敏感数据的应用场景,比如缓存数据、临时会话信息或实时日志,TTL(Time To Live)索引 是一种高效的解决方案。MariaDB 的 RocksDB 存储引擎提供了对 TTL 索引的支持,让开发者能够像在 MongoDB 中一样轻松设置数据的过期时间,并实现自动清理。什么是 TTL 索引?TTL 索引是一种特殊类型的索引,可以为数据设置“生存时间”。当数据的生存时间超过预
一段时间后,大多数应用程序可能由于bug而出现重复行,这不仅影响用户体验,还增加了存储需求并降低数据库性能。可以通过一个 SQL 查询来完成整个清理过程,从而有效解决这一问题。使用范例-- 创建表 CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(
从Oracle数据库迁移到MySQL存在一定的技术挑战,主要体现在数据类型、存储过程语法以及系统函数等方面的不兼容性。这种迁移通常需要大量的人力物力投入,包括schema重构、代码重写等工作。然而,将Oracle数据库迁移到MariaDB则是一个出人意料的高效选择。MariaDB提供了一个创新的Oracle兼容模式,只需简单配置即可实现近乎无缝的迁移。具体而言,通过设置SQL模式为Oracle模式
介绍MariaDB MaxScale的NoSQL协议模块是一个强大而独特的功能,它允许使用MongoDB协议与MariaDB数据库进行交互。以下是该模块的主要特点:协议转换: 将MongoDB的查询语言和操作转换为SQL语句。使得应用程序可以使用MongoDB的驱动程序与MariaDB/MySQL通信。无缝集成: 允许现有的MongoDB应用程序直接连接到MariaDB/MySQL,无需修改应用程
在 ProxySQL 的默认配置下,当所有从库出现故障时,查询请求不会自动切换到主库,这会导致业务中断。以下是一个示例说明:假设你的架构是一主一从,主库监听在 6666 端口,从库监听在 6667 端口。Admin> SELECT hostgroup_id, hostname, port, status, weight FROM mysql_servers; +--------------+
在绝大多数业务场景中,分布式数据库并非必需。事实上,约80%的应用程序都可以在单机环境下高效运行。对于绝大多数企业而言,数据库的数据量通常不会达到 TB 级别。在现代应用开发中,json 已成为数据交换和存储的常见格式。尽管 MongoDB 因其天然支持 json 而备受推崇,但 MySQL 也提供了强大的 json 数据类型支持,能够高效地处理 json 数据。在本指南中,我们将探讨如何使用My
是的,这个世界80%的业务都不需要分布式数据库,单机MySQL加一个读写分离足矣。今天我带你用 ProxySQL 实现 MySQL 的读写分离。功能:将 "select ... for update" 语句和增删改(insert/update/delete)语句发送到主库。将 select 只读查询语句发送到从库。如果从库的复制延迟超过10秒,ProxySQL会将查询路由到其他可用的从库,如果从库
MySQL 主从复制,在最新的9.0版本里,仍旧无法实现过滤binlog event事件,例如主库上执行drop和truncate操作,从库同步复制后,直接过滤掉drop和truncate操作。DBA、运维或者研发一旦手滑误操作,直接P0,毁灭性的伤害。而这个实用价值极高的需求,在TiDB DM里早已经实现。那么,我们需要借助ProxySQL来解决MySQL 主从复制这一缺陷。思想如果主库执行dr
数据库审计平台(简称DB Audit),实时记录用户操作数据库的行为,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行实时告警。通过对用户访问数据库行为记录、分析和汇报,来帮助DBA事后生成合规报告、事故追根溯源,同时通过搜索技术提供高效查询审计报告,定位事件原因,以便日后查询、分析、过滤,实现加强内外部数据库网络行为的监控与审计,提高数据资产安全。目前有两种技术方案
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
刷脉脉,发现一个帖子讨论幻读问题:https://maimai.cn/web/gossip_detail?src=app&webid=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlZ2lkIjoiN2JmMjA4ZDZjNzU0MTFlYWExOTk4MDE4NDRlNTAxOTAiLCJ1IjoyMjM0MjgzMTksImlkIjoyNjc0NDU3
今天网友陈俊聪跟我讨论一个参数binlog_row_image,在什么场景下设置为MINIMAL,我觉得这个案例很有意义,尤其是在生产环境中,要慎重设置这个参数。首先这个MINIMAL,只会在binlog里记录被影响的行,而不能像默认的FULL一样,记录完整的变更前和变更后的所有记录,这里就会产生一个问题,数据被误更改,无法用mysqlbinlog等工具闪回,另外大数据那边用canal抽binlo
系统版本表是SQL:2011标准中首次引入的功能。系统版本表存储所有更改的历史数据,而不仅仅是当前时刻有效的数据。举个例子,同一行数据一秒内被更改了10次,那么就会保存10份不同时间的版本数据。就像《源代码》电影里的平行世界理论一样,你可以退回任意时间里。从而有效保障你的数据是安全的,DBA手抖或程序BUG引起的数据丢失,在MariaDB10.3里已成为过去。
DBA操作规范1、涉及业务上的修改/删除数据,在得到业务方、CTO的邮件批准后方可执行,执行前提前做好备份,必要时可逆。2、所有上线需求必须走工单系统,口头通知视为无效。3、在对大表做表结构变更时,如修改字段属性会造成锁表,并会造成从库延迟,从而影响线上业务,必须在凌晨0:00后业务低峰期执行,另统一用工具pt-online-schema-change避免锁表且降低延迟执行时间。使用范例:#pt-
为了让DBA从日常繁琐的工作中解放出来,通过SQL自助平台,可以让开发自上线,开发提交SQL后就会自动返回优化建议,无需DBA的再次审核,从而提升上线效率,有利于建立数据库开发规范。借鉴了去哪网Inception的思路并且把美团网SQLAdvisor(索引优化建议)集成在一起,并结合了之前写的《DBA的40条军规》纳入了审核规则里,用PHP实现。目前在我公司内部使用。下面是首页界面:使用说明:1、
字段属性限制1、不支持CHARACTER SET语法MariaDB [test]> create table t1(id int,name varchar(10) CHARACTER SET utf8)-> engine=Columnstore;ERROR 1178 (42000): The storage engine for the table doesn’t support Th
注:本文来自真实生产案例,感谢网友小豚提供,本人加以故障重现校验。场景因想整理一下线上的独立表空间碎片,故使用了pt-online-schema-change在slave从库上执行,目的是怕影响主库的CPU,维护的时候再进行一次主从切换,然后再收缩主库上的表空间碎片。slave从库上执行的命令如下:# pt-online-schema-change -S /tmp/m
今天早上一个朋友找到了我,说他们备份失败了,使用的版本为MySQL 5.7.15报错信息如下:mysqldump: Couldn't execute 'SAVEPOINT sp': The MySQL server is running with the --transacti
当前pt-slave-restart最新版为2.2.19,当你执行下面跳过主键冲突的命令时,会报错。# pt-slave-restart --user=root --error-numbers=1062 DBD::mysql::db selectrow_arrayref failed: Unknown system&
MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理 AES_DECRYPT(表的字段名字,'钥匙')函数 解密处理例,表结构:现在插入一条数据,对passwd密码字段加密。INSERT INTO credit_card(cid,NAME,email,passwd) 
MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关系型数据库和文档型NoSQL数据库集于一身。使用说明:###表结构create table assets ( item_name var
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以实现主从服务器表结构是否一致。数据校验需要使用Percona的pt-table-checksum工具。安装:# tar zxvf mysql-utilities-1.5.4.tar.gz # cd mysql-utilities-1.5.4 # python
Parameter NameRequired?Parameter ScopeDefault ValueExamplehostnameYesLocal Only-hostname=mysql_server1, hostname=192.168.0.1, etcipNoLocal Onlygethostbyname($hostname)ip=192.16
今天我一个朋友,执行了stop slave,给卡死了,结果kill 进程ID也杀不死。这是由于在主库上执行了一条很耗时的大SQL,通过主从复制在从库接收过来后,SQL_THREAD开始执行,这时你只要执行了stop slave,立马就卡死,之后你再执行show slave status\G;也会被卡住,必须等待那条大SQL执行完,才会结束stop slave,除非你pkill -9 mysql进程
Q:在master-master结构中GTID有什么优势?如果有, 它是如何做的? Q:GTID可以应用到MySQL的ACTIVE ACTIVE MASTER MASTER结构上吗? A:GTID不会改变MySQL数据复制的本质:比如在配置GTID之后,数据复制同样是异步的;如果向master-master结构上的两个 master写入数据,GTID同样没有写冲突检测机制.GTID的主要优势在于
当我们忘记做全量备份时,并且没有开启binlog,并执行了delete from sbtest;数据全部丢失,要想恢复是很有难度的。今天,利用Percona Data Recovery Tool for InnoDB工具(仅支持InnoDB,MyISAM不支持),可以找回被删除的数据。原理:在InnoDB引擎,delete删除操作,不是真正的删除物理文件上的行,而是增加一个删除
TokuDB存储引擎,你可以把它看做是ARCHIVE存储引擎的升级版,它拥有了密集压缩,并且支持事务。压缩比:EngineCompressionTable size [MB]InnoDB none 2272InnoDB KEY_BLOCK_SIZE=8 1144InnoDB KEY_BLOCK_SIZE=4 584MyISAM
整理:mysqlpub.com为了满足当下对Web及云应用需求,甲骨文宣布推出MySQL Fabric。包含于MySQL Utilities中。MySQL Fabric是一款可简化管理MySQL数据库群的整合式系统。该产品通过故障检测和故障转移功能提供了高可用性,同时通过自动数据分片功能实现可扩展 性。MySQL Fabric是一开源框架,能够管理MySQL服务器群,整合可扩展式系统。该系统更
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号