- 博客(68)
- 收藏
- 关注
原创 mongodb - 无法按照官方教程在AWS EC2上安装mongoDB
mongodb - 无法按照官方教程在AWS EC2上安装mongoDB。我尝试在我的 AWS EC2 实例上安装 mongoDB。如有任何帮助,我们将不胜感激。
2024-01-26 11:59:24 619
原创 阿里云mysql8小版本升级造成磁盘不断增长,undolog持续增长不释放
经排查,AliSQL小版本升级后新特性flashback 功能打开,经过确认,flashback 功能对 purge 速度有影响,暂时关闭 flashback 功能。2. 查看事务提交和 undo 的 purge 速度。在监控中,可以看到事务大量提交,04/10 04:00 前后每秒提交事务 1万+,但是 purge 速度很慢,只有 1k+;1. 用户从 20200110 升级到 20221231 之后,参数模板没有补充新增的功能参数,flashback 功能打开了,影响了 undo 的purge;
2023-04-14 10:45:05 810
原创 drop table大表 一直卡在checking permissions
drop table大表 一直卡在checking permissions
2022-12-15 17:39:57 605
原创 mysql8.0 5.7 密码复杂度
1.密码复杂度策略设置MySQL 系统自带有 validate_password 插件,此插件可以验证密码强度,未达到规定强度的密码则不允许被设置。MySQL 5.7 及 8.0 版本默认情况下貌似都不启用该插件,这也使得我们可以随意设置密码,比如设置为 123、123456等。如果我们想从根源上规范密码强度,可以启用该插件,下面一起来看下如何通过此插件来设置密码复杂度策略。1)查看是否已安装此插件进入 MySQL 命令行,通过 show plugins 或者查看 validate_passwo
2022-05-24 20:29:07 3615
原创 centos7 mysql5.7.38自定义路径安装
1、查看rpm包rpm-qa|grep mysql若有可用rpm-e卸载[root@4WAN_1LAN_IPSec_VPN_Router ~]# rpm -qa|grep mysql查找是否有mysql[root@4WAN_1LAN_IPSec_VPN_Router ~]# find / -name mysql/run/lock/subsys/mysql/etc/rc.d/init.d/mysql/usr/bin/mysql/usr/local/mysql-5.7.35-el..
2022-05-20 15:53:46 1324
转载 mysql各版本online ddl
发展历程MySQL Online DDL 功能从 5.6 版本开始正式引入,发展到现在的 8.0 版本,经历了多次的调整和完善。本文主要就 Online DDL 的发展过程,以及各版本的区别进行总结。其实早在 MySQL 5.5 版本中就加入了 INPLACE DDL 方式,但是因为实现的问题,依然会阻塞 INSERT、UPDATE、DELETE 操作,这也是 MySQL 早期版本长期被吐槽的原因之一。在 MySQL 5.6 中,官方开始支持更多的 ALTER TABLE 类型操作来避免数据拷贝,同
2022-04-18 14:03:21 650
转载 mysql 查询优化 ~explain解读之select_type的解读
一 简介:今天咱们来聊聊explain的select_type二 类型(1)SIMPLE 简单的SELECT语句(不包括UNION操作或子查询操作)(2)PRIMARY/UNION PRIMARY:查询中最外层的SELECT(如两表做UNION或者存在子查询的外层的表操作为PRIMARY,内层的操作为UNION) UNION:UNION操作中,查询中处于内层的SELECT(内层的SELECT语句与外层的SELECT语句没有依赖关系)(3)DEPENDENT ...
2022-01-02 11:08:58 832
原创 接口的幂等性怎么设计?
自己最近负责的几个接口,都涉及到了幂等性的操作,抽空总结了一下,这也是面试官比较爱问的问题。一、什么是幂等?看一下维基百科怎么说的:幂等性:多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。二、使用幂等的场景1、前端重复提交用户注册,用户创建商品等操作,前端都会提交一些数据给后台服务,后台需要根据用户提交的数据在数据库中创建记录。如果用户不小心多点了几次,后端收到了好几次提交,这时就会在数据库中重复创建了多条记录。这就是接口没有幂等性带来的 bug
2021-12-14 11:25:03 2722
原创 分页查询优化
出现问题原因: ①系统早期建设时数据量不大, 性能问题没有暴露出来;②很多开发商把这种写法固化到了产品框架中, 导致后期开发人员根本不关心这类问题一、优化方案1.普通方案(主键子查询法)优化后的分页查询写法, 会先查询翻页中需要的N条数据的主键值(emp_no) , 然后根据主键值回表查询所需要的N条数据, 在此过程中查询N条数据的主键id在索引中完成, 所以效率会高一些。弊端:偏移1000以上使用效果好 数据必须是连续的 性能不是最优2.业务优化写法...
2021-11-17 20:47:52 428
转载 MySQL基于GTID主从同步异常-跳过-恢复
1、从库(slave节点)获取正在读取的binlog文件和pos位置mysql>show slave status\Gbinlog和pos2、主库(master节点)确认备库事务相对与主库的位置show binlog events in 'mysql-bin.000022' from 1814 limit 2\G定位备库事务相对于主库的位置3、停止从库mysql>stop slave;4、在session里设置gtid_next,即跳过这个GTID
2021-10-12 14:08:54 1495
原创 DBA自我改造--Django如何连接Mysql
前言这次咱们来简述一下,Django如何连接Mysql。默认情况下,Django连接的是自己带的sqlite数据库。这种数据库好处是方便,不需要远程连接,打包项目挪到其他电脑上安装一下依赖一会就跑起来了。但是缺点就是,可能会出现各种莫名其面的问题,所以,尽可能在开始的时候,就配置上连接Mysql。连接MysqlDjango连接Mysql分三步 Mysql提前创建好数据库。 修改Django的settings.py文件。 修改项目文件夹下的__ini.
2021-01-20 14:57:55 160
翻译 mysql5.7CHAR和VARCHAR类型区别
CHAR和VARCHAR类型该CHAR和VARCHAR类型相似,但它们被存储和检索的方式不同。它们的最大长度以及是否保留尾随空格也不同。该CHAR和VARCHAR类型的声明,其长度指示要存储的最大字符数。例如,CHAR(30)最多可容纳30个字符。一个长度CHAR列被固定在创建表声明的长度。长度可以是0到255之间的任何值。CHAR存储值时,将在它们的右边填充空格以达到指定的长度。当CHAR被检索到的值,拖尾的空格被删除,除非PAD_CHAR_TO_FULL_LENGTH启...
2021-01-07 17:15:16 304
原创 MySQL是如何解决幻读的
一、什么是幻读在一次事务里面,多次查询之后,结果集的个数不一致的情况叫做幻读。而多出来或者少的哪一行被叫做 幻行二、为什么要解决幻读在高并发数据库系统中,需要保证事务与事务之间的隔离性,还有事务本身的一致性。三、MySQL 是如何解决幻读的1. 多版本并发控制(MVCC)(快照读)多数数据库都实现了多版本并发控制,并且都是靠保存数据快照来实现的。以 InnoDB 为例,每一行中都冗余了两个字断。一个是行的创建版本,一个是行的删除(过期)版本。版本号随着每次事务的开启自增。事务
2021-01-07 11:14:18 201
转载 MySQL insert死锁套路:三个事务插入有一个回滚
这个是非常经典的一个场景,在网上搜索插入意向锁造成的死锁,绝大部分都会指向这个例子(暂时没想到解决方案求大神指点)表结构CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` varchar(5), `b` varchar(5), PRIMARY KEY (`id`), UNIQUE KEY `uk_name` (`a`,`b`));三个事务的 insert 语句都是insert ignore into
2020-12-30 17:27:37 1122 2
原创 mongo 复制集重置 命名 OTHER
rs1:OTHER> rs.status(){ "operationTime" : Timestamp(1559293558, 1), "ok" : 0, "errmsg" : "Our replica set config is invalid or we are not a member of it", "code" : 93, "codeName" : "InvalidReplicaSetConfig", .
2020-12-21 13:49:21 2383 3
转载 解决mysql二进制日志恢复数据报错:@@GLOBAL.GTID_MODE = ON.
解决mysql利用二进制日志恢复数据报错:ERROR 1781 (HY000) at line 16: @@SESSION.GTID_NEXT cannot be set to UUID:NUMBER when @@GLOBAL.GTID_MODE = OFF.工作中,运用二进制日志,帮开发的同事恢复数据时,出现了报错告警:[root@localhost tmp]# mysqlbinlog --no-defaults mysql-bin.000614|mysql -uroot -pEnter p
2020-07-03 13:47:27 3076
原创 在线修改mongo日志输出级别,实现记录全量日志select、update等
MongoDB日志记录了数据库实例的健康状态、语句的执行状况、资源的消耗情况,所以日志对于分析数据库服务和性能优化很有帮助。因此,很有必要花费一些时间来学习解析一下MongoDB的日志文件。日志信息的格式<日志时间> <严重级别> <信息所属分类> [<内容>] <消息>例如 :2014-11-03T18:28:32.450-0500 I NETWORK [initandlisten] waiting for connec.
2020-05-14 17:20:47 3509
原创 mongoexport Failed: error connecting to db server: no reachable servers
mongo单表导入导出命令及报错问题 报错如图error connecting to db server: no reachable servers##导入测试成功./mongoimport -hxxx:27017 -uroot -pxxx --authenticationDatabase admin -ddbname -c collectionname --file xxx/f...
2020-04-28 15:56:11 1629
原创 ZooKeeper启动报错Last transaction was partial. 解决方法
ZooKeeper启动报错Last transaction was partial. 解决方法ZooKeeper 在硬盘满后,无法再次启动,抛出Last transaction was partial.Bug见:https://issues.apache.org/jira/browse/ZOOKEEPER-1621首先我的环境是单节点,ZooKeeper的版本是3.4.8。因为是...
2020-04-07 15:53:54 4105
原创 sqlserver2014导出表结构和数据
sqlserver2014导出表结构和数据的简单方法:1.sqlserver2014,连接成功后,选择需要导出表的数据库--任务---生成脚本2.生成和发布脚本窗口--简介(某些可能关闭该页面的,可以省略该步骤),点击下一步3.生成和发布脚本窗口--选择对象--按照图片操作即可4.生成和发布脚本窗口--设置脚本编写选项5.点击完高级以后,弹出--高级脚本编写选项,选择常...
2020-04-01 13:40:57 1004
原创 mongoshake2.2 Oplog Tailer initialize failed
配置mongoshake2.0出现以下报错Oplog Tailer initialize failed: CheckpointManager load checkpoint illegal record map[_id:ObjectIdHex("5de76891db5dec01f187c58f") ckpt:6767154680645550084 name:rs0]. ok1[true] o...
2019-12-06 13:36:00 392
原创 mongodb索引
索引是提高查询查询效率最有效的手段。索引是一种特殊的数据结构,索引以易于遍历的形式存储了数据的部分内容(如:一个特定的字段或一组字段值),索引会按一定规则对存储值进行排序,而且索引的存储位置在内存中,所在从索引中检索数据会非常快。如果没有索引,MongoDB必须扫描集合中的每一个文档,这种扫描的效率非常低,尤其是在数据量较大时。创建/重建索引 查看索引 删除索引1. 创建/重建索引...
2019-11-04 18:15:46 299
转载 pt(Percona Toolkit)工具详解:(一)安装
pt(Percona Toolkit)工具是由Percona公司开发的一个用perl语言编写的工具集,包含很多功能,例如在线更改数据表结构,校验主从数据,检查数据库状态,分析慢查询等这些靠人手做起来比较麻烦的事情,功能强大,操作简单.安装既然是perl语言开发的工具集,那当然是先安装perl相关依赖包了yum install -y perl perl-IO-Socket-SSL...
2019-10-28 14:56:50 1999
转载 mysql 表设计、索引优化、sql优化简答
如何去写一手好SQL?编码砖家数据库开发2 days ago作者:编码砖家链接:https://www.cnblogs.com/xiaoyangjia/p/11267191.html MySQL性能 数据表设计 索引优化 SQL优化 其他数据库 博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长...
2019-10-17 16:49:35 245
转载 Linux shell中2>&1的含义解释 (全网最全,看完就懂)
A.首先了解下1和2在Linux中代表什么在Linux系统中0 1 2是一个文件描述符名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例) 标准输入(stdin) 0 < 或 << System.in /dev/stdin -> /proc/self/fd/0 -> /dev/p...
2019-10-17 15:24:56 360
转载 细说show slave status参数详解(最全)
在搭建好mysql主从之后,我们一般在从库上通过命令show slave status\G来查看主从的状态,会有很多的参数,接下来笔者就带大家好好的了解这些参数root@localhost (none)>show slave status\G*************************** 1. row ***************************...
2019-10-17 13:37:26 1842
原创 MySQL中删除重复数据只保留一条
用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断SELECT *FROM peopleWHERE peopleId IN ( SELECT peopleId ...
2019-10-16 11:34:06 270
原创 docker 初次安装及报错排查
安装 Docker从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。本文介绍 Docker CE 的安装使用。移除旧的版本:$ sudo yum remove docker \ ...
2019-10-08 17:46:09 1166
原创 docker的container和images关系
问题一:Image与Container之间的联系?答:镜像的概念更多偏向于一个环境包,这个环境包可以移动到任意的Docker平台中去运行;而容器就是你运行环境包的实例。你可以针对这个环境包运行N个实例。换句话说container是images的一种具体表现形式。你也可以认为镜像与你装载操作系统iso镜像是一个概念,容器则可理解为镜像启动的操作系统。一个镜像可以启动任意多个容器,即可以装载多个操作...
2019-10-08 11:16:29 1033
原创 CentOS 7下Samba服务器的安装与配置 win 共享磁盘
一、简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System...
2019-09-27 18:05:32 1413
原创 mongo上云迁移同步mongoshake
关于MongoShake项目说明:https://github.com/alibaba/MongoShake/wikiMongoShake发行版下载:https://github.com/alibaba/MongoShake/releasesMongoShake遇到的问题FAQ:https://github.com/alibaba/MongoShake/wiki/FAQ...
2019-09-26 15:09:47 1753 3
原创 linux 后台工具screen使用
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。会话恢复只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命...
2019-09-26 15:01:17 470
转载 MongoShake——基于MongoDB的跨数据中心的数据复制同步迁移平台
背景在当前的数据库系统生态中,大部分系统都支持多个节点实例间的数据同步机制,如Mysql Master/Slave主从同步,Redis AOF主从同步等,MongoDB更是支持3节点及以上的副本集同步,上述机制很好的支撑了一个逻辑单元的数据冗余高可用。跨逻辑单元,甚至跨单元、跨数据中心的数据同步,在业务层有时候就显得很重要,它使得同城多机房的负载均衡,多机房的互备,甚至是异地多数据中心容灾...
2019-09-24 15:28:15 1977
原创 MySQL 之 LEFT JOIN 何时用on 与where 闭坑
现象left join在我们使用mysql查询的过程中可谓非常常见,比如博客里一篇文章有多少条评论、商城里一个货物有多少评论、一条评论有多少个赞等等。但是由于对join、on、where等关键字的不熟悉,有时候会导致查询结果与预期不符,所以今天我就来总结一下,一起避坑。这里我先给出一个场景,并抛出两个问题,如果你都能答对那这篇文章就不用看了。假设有一个班级管理应用,有一个表classe...
2019-09-24 14:06:27 510 1
原创 nginx 编译自定义路径安装
全程安装https://www.runoob.com/linux/nginx-install-setup.html操作注意两点:nginx 编译 地址 跟prce自定义编译路径./configure --prefix=/home/admin/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/...
2019-05-16 16:55:32 1514
原创 jenkins cnpm not found
1.检查cnpm -v 是有可用不可用话先安装:npm install cnpm -g --registry=https://registry.npm.taobao.org安装成功;2.配置环境变量vim /etc/profile
2019-04-09 17:56:57 4795
原创 nginx 日志分割
1.原先使用nginx 内置的日期日志输出方式 发现error日志没法分割随后改用logrotate实现:粘贴下nginx 原生额方法:主要http和server位置:http { .... log_format main '$remote_addr - $remote_user [$time_local] "$request" ' ...
2019-03-29 17:39:13 289
转载 pika的原理和实现
Pikapika是360奇虎公司开源的一款类redis存储系统,主要解决的是用户使用 Redis 的内存大小超过 50G、80G 等等这样的情况,会遇到启动恢复时间长,一主多从代价大,硬件成本贵,缓冲区容易写满等问题。Pika 就是针对这些场景的一个解决方案:Pika 的单线程的性能肯定不如 Redis,Pika 是多线程的结构,因此在线程数比较多的情况下,某些数据结构的性能可...
2019-03-26 09:57:26 29991
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人