数据库技术

记得去年我在往 MySQL 存入 emoji 😲😳表情时,一直出错,无法导入。后来找到办法,通过把 utf8 改成 utf8mb4 就可以了,当时并没有深究。 图片来自 Pexels 一年后,我看到一篇文章讲到 emoji 文字占 4 个字节,通常要用 utf-8 去接收才行,其他编码可能会出错。 我突然想到去年操作 MySQL 把 utf8 改成 utf8mb4 的事儿。 嗯?他本身不就是 utf8

2022-10-27  352
数据库技术

简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系统。Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增量数据管道,github地址:https://github.com/alibaba/canal Canal Server能够解析MySQL binlog并订阅数据更改,而Canal Client可以实现将更改广播到任何地方,例如数据库和Apac

2022-10-27  342
数据库技术

今天我们来深挖一下mysql的复制机制到底有哪一些,以及binlog和relay-log的结构到底是什么样子的。 binlog作用 binlog的主要作用是记录数据库中表的更改,它只记录改变数据的sql,不改变数据的sql不会写入,比如select语句一般不会被记录,因为他们不会对数据产生任何改动。 用一个实际的场景看下binlog产生的过程,准备sql: createtabletest(textvarchar(20)); insert

2022-10-27  332
数据库技术

在MySQL进行数据插入操作时,总是会考虑是否会插入重复数据,之前的操作都是先根据主键或者唯一约束条件进行查询,有就进行更新没有就进行插入。代码反复效率低下。 新建表格 CREATETABLE`person`( `id`intNOTNULLCOMMENT'主键', `name`varchar(64)CHARACTERSETutf8COLLATEutf8_binNULLDEFAULTNULLCOMMENT'姓名', `age`intNUL

2022-10-27  351
数据库技术

在这之前,民工哥也给大家介绍过一款开源的SQL管理工具:自动补全、回滚!介绍一款可视化 sql 诊断利器。 今天,民工哥再给大家推荐一款SQL审核利器:goinception。 goinception介绍 goInception是一个集审核、执行、备份及生成回滚语句于一身的MySQL运维工具, 通过对执行SQL的语法解析,返回基于自定义规则的审核结果,并提供执行和备份及生成回滚语句的功能。 github地址:https://github

2022-10-27  364
数据库技术

一个典型的互联网产品架构包含接入层、逻辑处理层以及存储层,其中存储层承载着数据落地和持久化的任务,同时给逻辑处理层提供数据查询功能支持。说到存储层就要说到数据库,数据库知识掌握程度也是面试考察的知识点。 典型服务架构 数据库分为关系型数据库和非关系型数据库,也就是我们常说的 SQL 和 NoSQL,这两个方向的数据库代表产品分别是MySQL 和 Redis ,这次我们主要以面试问答的形式,来学习下关系型数据库 MySQL 基础知识。 面

2022-10-27  330
数据库技术

今天收到一个业务的报警,提示慢日志比较频繁,登上环境查看,发现SQL是一条看起来很简单的语句,环境在MySQL 5.7.16版本下,慢日志里面执行时间显示是近1分钟,我在从库上面执行了一下,发现优化空间确实很大: selectOrgId from`testcomm`.apply_join_org whereIfDel=1andApplyStatus=1andUserId=12345678ORDERBYCreateTimedescLIM

2022-10-27  383
数据库技术

我们经常会接触到MySQL,也经常会遇到一些MySQL的性能问题。我们可以借助慢查询日志和explain命令初步分析出SQL语句存在的性能问题 通过SHOW FULL PROCESSLIST查看问题 SHOW FULL PROCESSLIST相当于select * from information_schema.processlist可以列出正在运行的连接线程, processlist 说明: id 连接id,可以使用kill+连

2022-10-27  405
数据库技术

我是Redis你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。 说起我的诞生,跟关系数据库MySQL还挺有渊源的。 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL是苦不堪言。尤其是到“双11”、“618“这种全民购物狂欢的日子,都是MyS

2022-10-27  345
数据库技术

引言 在日常数据库运维中,经常要对数据库进行热备。热备的一个关键点是保证数据的一致性,即在备份进行时发生的数据更改,不会在备份结果中出现。mysqldump是实际场景中最常使用的备份工具之一,通过选择合适的选项做备份,mysqldump可以保证数据的一致性,同时尽可能保证进行中的业务不受影响。 那么mysqldump是如何实现一致性备份的?以下我将结合mysqldump过程中mysqld生成的general log与mysqldump的源

2022-10-27  377