问题引入 部分sql报错如下:mismatched input 'from' expecting {, '|'} 对于在SQL方面知识极大欠缺的小白,在测试过程中查询SQL语句时,遭遇数据库无情的报错打击。 经过分析,发现是由于SQL语句中包含特殊字符需要转义,但却无法正确使用转...
一、前言 最近经常碰到开发误删除误更新数据,这不,他们又给我找了个麻烦,我们来看下整个过程。 二、过程 由于开发需要在生产环节中修复数据,需要执行120条SQL语句,需要将数据进行更新 于是开发连上了生产数据库,首先执行了第一条SQL: ...
上周组内例会,提到不同数据库中大小写敏感的问题,问题很小,但是如果不注意,尤其是开发不规范的场景,很容易进坑。 首先,我们看下Oracle中对大小写的处理。 例如用小写test1创建,但我们在user_objects中根据小写test1不能找到记录,根据大写...
关于Oracle数据库的账号,我们在维护数据库的时候,偶尔可能需要获取一些特殊信息。例如,账号的创建时间、账号的状态、账号的锁定时间.....。正常情况下,我们可以通过DBA_USERS获取大部分相关信息。但是有一些特殊信息,还必须通过不常用底层基表sys...
咱们使用 MySQL 大概率上都会遇到死锁问题,这实在是个令人非常头痛的问题。本文将会对死锁进行相应介绍,对常见的死锁案例进行相关分析与探讨,以及如何去尽可能避免死锁给出一些建议。 话不多说,开整! 什么是死锁 死锁是并发系统中常见的问...
我们数据库中的数据一直在变化,有时候我们希望能监听数据库数据的变化并根据变化做出一些反应,比如更新对应变化数据的缓存、增量同步到其它数据源、对数据进行检测和审计等等。而这种技术就叫变更数据捕获(Change Data Capture)。对于这种技术我们可...
在大家开发的时候,很多时候不是说,有人告诉你已经完全的设计好数据库了,也没有专门的人去管理数据库表设计这块的内容,而阿粉的朋友就是这么悲催,接手了公司一个同事的一个比较重要的功能,而阿粉的朋友也没有重新进行设计,于是就出现了这样的一幕...
大家平时和SQL语句打交道的时间肯定不少,有写过简单SQL的,也有为很复杂的业务逻辑的SQL绞尽脑汁的,那我在这里问下大家一个简单的问题:那你知道SQl语句的查询顺序是怎么样的吗? 这个问题应该很好回答,毕竟自己已经写了无数个 SQL 查询语句了,有...
在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合。 常见的场景如下: · 给一个 userId ,判断用户登陆状态; · 显示用户某个月的签到次数和首次签到时间; · 两亿用户最近 7 天的签到情况,统计 7 天内连续...
前言:今天登服务器,突然发现数据库被黑客勒索了,造成大量的数据丢失!啊啊啊损失惨重,所以必须加强数据库安全防护工作! 经验总结: 1.数据库服务器不直接暴露在公网 2.为每个账户配置允许访问数据库的来源IP · 修改默认的3306端口 · 强...
读写分离是什么?读写分离的作用就不讲了,如果有不了解的同学可以自己去搜索资料进行了解。 一开始的场景肯定都基于主库去做增删改查的操作,等后面压力慢慢上来后才会考虑加数据库的从节点,通过读写分离的方式来提高查询的性能。 首先读写分离...
一般来说,业务能够稳定运行,大家主要聚焦的是线上环境的管理,相反对于其他环境的管理不够重视,而现实情况是这些环境的管理更需要标准化,通过统筹管理减少一些潜在隐患,才能在一定程度上减少线上环境的隐患。 假设其他环境是一条条行车道,而线...
金三银四面试季,为了做好大家面试路上的助攻手,对于 Redis 这块心里还没底的同学,特整理 40 道Redis常见面试题,让你面试不慌,争取 Offer 拿到手软! 1、什么是 Redis? Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数...
MySQL是一个关系型数据库管理系统,其中SQL指的是一种结构化语言,用于操作关系型数据库的专用数据库语言。而关系型数据库又是什么意思呢,关系型数据库就是指在关系模型的基础上建立起来的数据库,是一种借助了集合代数等一些数学方法和数学概念进行数...
在PostgreSQL中使用on conflict关键字,可以很方便地实现有则更新无则新增的功能: 创建一张测试表,id为自增主键,cust_id为用户id,name为用户名称: create table test_cust (id serial primary key, cust_id int, name varchar(20)); ...
MySQL作为关系型数据库的典型代表,在国内环境里经历风雨磨砺,不断地精进,已经在开发和运维方面,成型了一套的规范。这些规范让了解和使用MySQL更加得心应手,并对后期的一些问题起到了很好的预防作用。 结合个人经验,下面具体讲解十个“合规检查...
作为内存数据库,内存空间大小对于 Redis 来说是至关重要的。内存越多,意味着存储的数据也会越多。但是不知道你有没有遇到过这样的情况,明明空间很大,但是内存的使用却不是很理想。 为什么会出现这样的情况呢?这期我们就来看看这个"诡异"的事件。...
啰嗦的话,不多说,我们直接开始部署,我相信有点linux基础的人都能看得懂。 Mysql5.7.22主从部署,既然是主从那肯定是需要至少2台服务器了,2台的安装都是一样的,请看下面! 1、 创建mysql用户:useradd -m -d /home/mysql mysql 2、 上传my...
背景 上个月跟朋友一起做了个微信小程序,趁着5.20节日的热度,两个礼拜内迅速积累了一百多万用户,我们在小程序页面增加了收集formid的埋点,用于给微信用户发送模板消息通知。 这个小程序一开始的后端逻辑是用douchat框架写的,使用框架自带的...
前言 无论是开发、测试,还是DBA,都难免会涉及到数据库的操作,比如:创建某张表,添加某个字段、添加数据、更新数据、删除数据、查询数据等等。 正常情况下还好,但如果操作数据库时出现失误,比如: 1)删除订单数据时where条件写错了,导致...