说起来日常的故障,其实,首先应该相到的就是:“备份”、“备份”、“备份”。毕竟再怎么牢固的系统或硬件都会有故障的时候,所以,备份放第一位。
作为linux运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个Linux运维工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着的继续努力,从中也积累了更多的经验,这就是实践给予我们的丰厚回报。 下面汇总了我做项目过程可能出现的故障及解决方法,看看是否与你有共鸣,并对你有帮助? ---- 第一:常见问题解决集锦 1.shell脚本不执行 问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,
作为运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个运维工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着的继续努力,从中也积累了更多的经验,这就是实践给予我们的丰厚回报。
不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢?
以前在qq上就收到过朋友发来的二维码链接啥的,一般的套路就是诱导你扫描这个二维码或者点击这个链接。 例如某天爱玩吃鸡的你收到一条链接,标题是点击领取金币领皮肤领…然后你兴奋的不行,点开之后让你输入账号密码登录,你看着这个页面,没有发现半点可疑的地方,然后就把账号密码随手输了进去。不一会儿,你的qq提示在其他地方登录,然后你列表的好友就都收到了你发给他们的链接。又比如某天,你收到一条消息/一条空间留言,内容是:这个人的qq空间里怎么有你的照片?又或者是:这个人是谁?为什么他空间有你俩的合影?单纯善良好奇心又巨强的你瞬间懵了,同学?我和谁合过影啊?都忘了,赶紧去看看。但是你点击以后是个qq空间的页面让你登录,合情合理啊,毕竟是qq空间相册,那就登录呗,然后你qq就掉线了。 本文没啥技术含量,因为这几天正好碰到一个钓鱼网站,结合着真实的钓鱼网站打算给朋友们科普一下,提高一下防范意识。
window10上安装了MySQL,用于开发web服务的测试。MySQL很久不使用,之前使用都是执行net start mysql启动,执行net stop mysql关闭。某天突然启动报错“MySQL 服务无法启动”,“请键入 NET HELPMSG 3523 以获得更多的帮助”。
随着博客运行的时间越来越长,每天整理技术笔记,发布文章。所用的时间和精力也越来越多。担心某天不管是因为误操作还是发生不可控的故障造成数据丢失。竹篮打水一场空,就不好了。于是就想讲数据每日自动备份一次,然后利用bypy上传到百度网盘。
4. 一张采用Innodb的User表,其中id为主键,name为普通索引,试从索引的数据结构角度分析,以下两条语句(均返回一条记录)在检索过程中有哪些区别
为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活。遂考虑直接进入mysql直接清空表或者删除表中数据。
当你某天把所有binlog日志全干掉,数据库没有产生新的日志的时候就可以用手动切换这个方式来产生了…
在查看该网站过程中,我发现其中还有一个搜索功能,我尝试进行了XSS,但是无效。当时,我根本没想着去测试SQL注入漏洞,因为我觉得开发人员应该部署了完善的过滤措施,不可能存在注入漏洞。但是,其中的点击按钮引起了我的注意,即当你点击其中的引用标题(如引用ID、类型等)后,会出现一些调用异常。
序言:创建定时任务非常简单,主要有两种创建方式: 一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer). 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就大派用场了。
最近无意间发现了一款开源免费的 MySQL 客户端管理工具,磊哥试用了两天感觉还行,所以今天推荐给各位大佬。
如果这样存数据,对于用户量大的应用,db可能扛不住,比如 1000W 用户,一天一条,那么一个月就是 3 亿数据,非常庞大。
window10上安装了MySQL之前使用都是执行net start mysql 启动,执行net stop mysql关闭。 某天开始启动报错“MySQL 服务无法启动”,“请键入 NET HELPMSG 3523 以获得更多的帮助”。
还是先在粉板上记一下方便。如果掌柜没有粉板,每次记账都翻账本,效率是不是低死啦? MySQL也有这个问题,若每次更新操作都写进磁盘,然后磁盘也要找到对应记录,然后再更新,整个过程IO成本、搜索成本都很高。 何解?采用类似酒掌柜粉板的思路。
说起Mysql死锁,之前写过一次有关Mysql加锁的基本介绍,对于一些基本的Mysql锁或者死锁都有一个简单的认识,可以看下这篇文章为什么开发人员需要了解分布式锁。有了上面的经验之后,本以为对于死锁都能手到擒来,没想到再一个阳光明媚的下午报出了一个死锁,但是这一次却没想象的那么简单。
先来回顾一下上一篇的小集群架构,tomcat集群,nginx进行反向代理,服务器异地: 由上一篇讲到,部署的时候,将war部署在不同的服务器里,通过spring-session实现了session共享
我们在做权限授权时需要给到应用用户增删改查权限,比如下面的授权语句。这样的好处是当实例创建多个业务库时,无需再次给新的业务库授权,该权限默认对所有库有增删改查权限,主打一个方便,但实际这种授权方式会带来较大的权限风险,甚至导致数据库被攻击破坏。
概述: 交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上。 这个SQL查询关联两个数据表,一个是攻击IP用户表主要是记录IP的信息,如第一次攻击时间,地址,IP等等,一个是IP攻击次数表主要是记录每天IP攻击次数。而需求是获取某天攻击IP信息和次数。(以下SQL语句测试均在测试服务器上上,正式服务器的性能好,查询时间快不少。)
某天下午组里有一个对外提供创建租户的接口突然产生了MySQL死锁的报警。 该服务是一个老服务,至少有一年没有人改动过该接口,并且租户这个场景只支持创建和查询,其他能力都不支持。收到报警的一刻,内心充满了疑惑:"这也能死锁?"
某天,正按照业务的要求删除不需要的数据,在执行 DELETE 语句时,竟然出现了报错(MySQL 数据库版本 5.7.34):
sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。
目前我司正处于一种混乱的开发环境中; 对于数据库字段增修都是开发人员直上服务器数据库修改(我多次强调); 我未入职前,是直接通过SFTP连接服务器,对项目进行开发和修改(话说造成代码覆盖都不知道是谁干的,多次建议开发使用Git); 入职后我写一个开发规范文档:软件开发手册(欢迎各位大佬提出意见) 虽然对开发规范有所改变,但还是因为不可抗力因素无法执行,也是造成我最近想跳槽的原因;
本文实例讲述了PHP设计模式之工厂模式。分享给大家供大家参考,具体如下: 使用工厂模式的目的或目标? 工厂模式的最大优点在于创建对象上面,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象。 减少代码进行复制粘帖,耦合关系重,牵一发动其他部分代码。 通俗的说,以前创建一个对象要使用new,现在把这个过程封装起来了。 假设不使用工厂模式:那么很多地方调用类a,代码就会这样子创建一个实例:new a(),假设某天需要把a类的名称修改,意味着很多调用的代码都要修改。 工厂模式的优点就在创建对象上。 工厂模式的优点就在创建对象上。建立一个工厂(一个函数或一个类方法)来制造新的对象,它的任务就是把对象的创建过程都封装起来, 创建对象不是使用new的形式了。而是定义一个方法,用于创建对象实例。 每个类可能会需要连接数据库。那么就将连接数据库封装在一个类中。以后在其他类中通过类名: 为什么引入抽象的概念? 想一想,在现实生活中,当我们无法确定某个具体的东西的时候,往往把一类东西归于抽象类别。 工厂方法: 比如你的工厂叫做“香烟工厂”,那么可以有“七匹狼工厂”“中华工厂”等,但是,这个工厂只生厂一种商品:香烟; 抽象工厂:无法描述它到底生产什么产品,它生产很多类型的产品(所以抽象工厂就会生成子工厂)。 你的工厂是综合型的,是生产“一系列”产品,而不是“一个”,比如:生产“香烟”,还有“啤酒”等。然后它也可以有派生出来的具体的工厂,但这些工厂都是生产这一系列产品,只是可能因为地域不一样,为了适应当地人口味,味道也不太一样。 工厂模式:理解成只生成一种产品的工厂。比如生产香烟的。 工厂方法:工厂的一种产品生产线 。比如键盘的生成过程。 别人会反驳:吃饱了没事干,一定要修改类名称呢?这个说不定。一般都不会去修改类名称。 其实工厂模式有很多变体,抓住精髓才是关键:只要是可以根据不同的参数生成不同的类实例,那么就符合工厂模式的设计思想。 这样子让我联想到框架中经常会有负责生成具体类实例的方法供调用。 由于前面使用过phpcms,用phpcms的来帮助理解,更加好,如下:
上文讲到,查询分离的方案存在三大不足,其中一个就是:当主数据量越来越大时,写操作会越来越缓慢。这个问题该如何解决呢?可以考虑分表分库。
目前我司正处于一种混乱的开发环境中; 对于数据库字段增修都是开发人员直上服务器数据库修改(我多次强调); 我未入职前,是直接通过SFTP连接服务器,对项目进行开发和修改(话说造成代码覆盖都不知道是谁干的,多次建议开发使用Git); 虽然对开发规范有所改变,但还是因为不可抗力因素无法执行,也是造成我最近想跳槽的原因;
基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行时机会受上一个任务执行时间的影响。
之前博客分享过一篇《Linux/vps 本地七天循环备份和七牛远程备份脚本》,我自己也一直在用。某天检查备份的时候,突然发现数据库的备份的压缩包是空的! 看了下 crontab 的日志,发现有如下错误: Access denied for user 'dbuser'@'localhost' to database 'db' when using LOCK TABLES 原来,我在计划任务中备份数据库时,用的是普通用户,在凌晨三点备份的时候,可能碰巧网站正在被访问(比如蜘蛛抓取)。由于存在数据查询,所以 my
什么是宝塔面板?宝塔面板的作用和功能是什么?宝塔面板是一款服务器管理软件,支持Windows和Linux系统,可以通过Web端轻松管理服务器,提升运维效率,该软件内置了创建管理网站、FTP、数据库、可视化文件管理器、可视化软件管理器等等。安装宝塔的目的就是更简单的管理网站服务器。解决对服务器技术不太懂的或者想用更简单的方法来管理服务器的人们。为了更好的服务这些群体,宝塔会在软件立项层面就引入交互体验。有Linux和Windows版本的。主机教程网下面给大家介绍一下。
有一个功能,提供两个接口,一个是A服务查询列表某天的数据,一个是B服务查询列表中单个对象某天的数据。
这里需要说明的是,常说的动态加载配置,一般基于观察者设计模式实现的发布/订阅系统,一般有两种模式,分别是推(Push)模式和拉(Pull)模式。
mysql 作为一个关系型数据库,在国内使用应该是最广泛的。也许你司使用 Oracle、Pg 等等,但是大多数互联网公司,比如我司使用得最多的还是 Mysql,重要性不言而喻。
◆ 分表分库 上文讲到,查询分离的方案存在三大不足,其中一个就是:当主数据量越来越大时,写操作会越来越缓慢。这个问题该如何解决呢?可以考虑分表分库。 这里先介绍一下真实的业务场景,而后依次介绍拆分存储时如何进行技术选型、分表分库的实现思路是什么,以及分表分库存在哪些不足。 接下来进入业务场景介绍。 ◆ 业务场景:亿级订单数据如何实现快速读写 这次项目的对象是电商系统。该系统中大数据量的实体有两个:用户和订单。每个实体涵盖的数据量见表3-1。 表3-1 数据量 某天,领导召集IT部门人员开会,说:“根据市场
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。
相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。
例子为: 公司没有运维,需要后端人员来顶替运维工作 面试的时候问道,一个解决方案: 万一某天某一时刻服务器宕机了,如何解决,这个时候就需要运维知识, 此时10个人里面只有两个会的话,那么这两个无疑是对于这个公司最优的选择。
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
这个表显示的是某些游戏玩家的游戏活动情况 每一行是在某天使用某个设备登出之前登录并玩多个游戏(可能为0)的玩家的记录 请编写一个 SQL 查询,描述每一个玩家首次登陆的设备名称
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
备份 pg_basebackup -D /tmp/pg_backup/ -Ft -Pv -U postgres -h 1.15.57.253 -p5432 -R -D 空文件,没有该目录会自动创建 F 格式话 t 打包为tar包 Pv 显示备份的详细过程 -u 用户 -p 端口 备份报错: 📷 在配置文件pg_hba.conf增加一行: 📷 备份流程: 📷 pg_basebackup: initiating base backup, waiting for checkpoint to complete
mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint、int、mediumint、smallint 和 tinyint的语法介绍,如下: 1、bigint
框架内置了常用的时间查询方法,参考官方文档:https://www.kancloud.cn/manual/thinkphp6_0/1037565
http://static.cyblogs.com/Jietu20211113-162059.jpg
资深数据库专家,专研 MySQL 十余年。擅长 MySQL、PostgreSQL、MongoDB 等开源数据库相关的备份恢复、SQL 调优、监控运维、高可用架构设计等。目前任职于爱可生,为各大运营商及银行金融企业提供 MySQL 相关技术支持、MySQL 相关课程培训等工作。
新手小白在服务器配置方面总是一头雾水。 今天推荐的是一款一键部署linux服务器的神器!宝塔Linux面板。 宝塔面板要求服务器有以下及以上配置: Python版本: 2.6/2.7(安装宝塔时会自动安装) 内存:128M以上,推荐512M以上(纯面板约占系统10M内存) 硬盘:100M以上可用硬盘空间(纯面板约占20M磁盘空间) 系统:CentOS 6.x / 7.x (Ubuntu、Debian、Fedora 请点这里),确保是干净的操作系统,没有安装过其它环境带的Apache/Nginx/php/My
领取专属 10元无门槛券
手把手带您无忧上云