参考链接:https://www.infoq.cn/article/some-thoughts-on-gitlab-accidentally-deleting-database 太平洋时间 2017 年 1 月 31 日晚上,GitLab 通过推特发文承认 300GB 生产环境数据因为 UNIX SA 的误操作,已经被彻底删除(后发文补充说明已经挽回部分数据),引起业界一片哗然.知名博主陈皓在其博客中详细回顾了此次事件,并做了思考和总结,聊聊架构经原作者授权发布此文. 昨天,GitLab.com…
猫宁!!! 参考链接:https://coolshell.cn/haoel 左耳朵耗子原名陈皓,那个是他的网络ID,在我眼中是个值得尊敬的程序员,虽然我对他真人没什么了解. 这是他博客的自我介绍: 20年软件开发相关工作经验,10年以上项目和团队管理经验.擅长底层技术架构,团队建设,软件工程,软件研发咨询,以及全球软件团队协作管理.对高性能,高可用性,分布式,高并发,以及大规模数据处理系统有一些经验和心得.喜欢关注底层技术平台和互联网行业应用.技术擅长C/C++/Java和Unix/Linux/…
[科创人·独家]MegaEase左耳朵耗子陈皓复盘创业:第一年盈利被当骗子,线下广阔天地大有可为 原创: babayage CTO科创圈  与上百位科技创业者共同关注科创人的成长心路. 文末有彩蛋:<陈皓谈Rework式团队实践体感> 文| babayage 编 辑 | 笑 笑 1 钱解决不了中年危机 趁年轻多去拥抱世界的美好 科创人(以下简称科):2015年之后您似乎沉寂了一阵,那段时间发生了什么? 陈皓(以下简称陈):2015年发生了很多事,先是父亲病危,之后因为北京工作居住证问题导致孩子…
参考链接:https://www.infoq.cn/article/2018/01/why-geektime 不少朋友都知道我在极客时间App 上开了一个收费专栏<左耳听风>,这个专栏会开设大约一年的时间,一共会发布 104 篇文章.现在,我在上面以每周两篇文章的频率已发布了 27 篇文章了,也就是差不多两个半月的时间.新的一年开始了,写专栏这个事对我来说是第一次,在这个过程中有一些感想,所以,我想在这里说一下这些感受和一些相关的故事,算是一个记录,也算是对我专栏的正式介绍,还希望能得到.大家…
GitLab的数据库用的是PostgreSQL,之前由于阿里云RDS不支持PostgreSQL,只能将GitLab的数据库部署在云服务器上. 6月1日得知阿里云推出了PostgreSQL RDS,于是立马将GitLab的数据库迁移至PostgreSQL RDS. 下面分享一下迁移的主要操作步骤: 1)在GitLab服务器上备份GitLab数据库 操作命令: sudo gitlab-rake gitlab:backup:create SKIP=db 注:这个命令原本是只备份数据库,但实际运行时也会…
在linux redhat 5.4版本,rm误删除数据库文件的恢复过程分享.测试没有问题,可用. 1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total 2153164 -rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control01.ctl -rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control02.ctl -rw-r----- 1 oracle dba…
一般企业的gitlab都承载着多个项目的源码和提交记录 如果gitlab的数据库 PostgreSQL 坏掉了,基本很难修复,那这是不是意味着源码丢失了呢. 本文章只针对 gitlab传统存储方式的修复.gitlab14.X 版本后使用的hash存储,并没有研究如何修复. 1.首先要确定的是 gitlab-data 文件夹是否丢失,如果保存源码的文件夹丢失,那么就不用继续看了. 2.如果是gitlab 单个组件异常可以尝试修复该组件 3.正文开始 1.首先保存一份gitlab-data 文件夹到…
今天在测试一个存储过程和数据库事件,就是到某一个固定时间,数据库自动调用一个存储过程实现一些功能. 单独来看事件是没有问题的 MINUTE STARTS '2015-12-09 02:00:00' ON COMPLETION PRESERVE ENABLE DO BEGIN CALL `renewClueCycle`(); END 后来又手动call了一下存储过程`renewClueCycle`(),也没有问题,达到了预期的功能. 问题出在到了这个时间,数据库没有执行这个存储过程,后来百度了一下…
--4.数据库事件触发器 需要超管的权限 /* 数据库事件触发器有数据库级和模式级两种. 前者定义在整个数据库上,触发事件是数据库事件,如数据库的启动.关闭,对数据库的登录或退出. 后者定义在模式上,触发事件包括模式用户的登录或退出,或对数据库对象的创建和修改(DDL事件). */ -- 需要管理员身份 创建table 写在 sys中 --创建事件历史表 create table event_table( event_name varchar(50), event_date date ); --…
alter database testdb set emergencyalter database testdb set single_userdbcc checkdb('testdb',REPAIR_ALLOW_DATA_LOSS)dbcc checkdb('testdb',REPAIR_REBUILD)alter database testdb set multi_user…