数据库

运维实战案例之“Argument list too long”错误与解决方法

一笑奈何 提交于 2021-02-02 04:34:33
作为一名运维人员来说,这个错误并不陌生,在执行rm、cp、mv等命令时,如果要操作的文件数很多,可能会使用通配符批量处理大量文件,这时就可能会出现“Argument list too long”这个问题了。 1、错误现象 这是一台Mysql数据库服务器,在系统中运行了很多定时任务,今天通过crontab命令又添加了一个计划任务,退出时发生了如下报错: #crontab -e 编辑完成后,保存退出,就出现下面如下图所示错误: 2、解决思路 根据上面报错的提示信息,基本判定是磁盘空间满了,那么首先从检查服务器的磁盘空间开始,根据报错提示应首先检查/tmp磁盘空间,然后应该是根分区的磁盘空间,最好是系统其它分区的磁盘空间。 3、问题排查 通过df命令查看了这个服务器上所有磁盘分区的情况,/tmp分区空间还有很多,根分区也还有很大剩余空间,都不存在问题,最后发现是/var磁盘分区空间使用已经100%了,到这里已经定位了问题,是/var磁盘空间爆满导致的,因为crontab会在保存时写文件信息到/var目录下,由于这个磁盘没有空间了,报错也是理所当然了。 4、解决问题 接着通过“du -sh”命令检查/var目录下所有文件或目录的大小,发现/var/spool/clientmqueue目录占用了/var整个分区大小的90%,那么/var/spool

【MySQL】insert into

◇◆丶佛笑我妖孽 提交于 2021-02-02 04:33:02
参考自:http://blog.csdn.net/miraclestar/article/details/6525236 插入值 insert into 表 (属性列) value (...); 插入集合 insert into 表(属性列) select ...;//可单行也可多行 插入没有关键字冲突的值,若主键存在则更新 insert into 表(属性列) values(...)values(...)//适合使用在多insert,避免重复关键字 no duplicate key update 某非主键属性=不能重复值;//存在是更新,若有多条符合条件记录则更新排序后排前面的一条记录(多唯一索引) 重复replace //当replace的记录不与表主键冲突,则等同于insert;否则替换原来相同主键值的记录 //好处:将delect和insert结合操作,形成原子操作 //必须要有唯一索引且不为空,否则replace功能只有insert //返回影响行数,1:无重复记录;2:有一条重复记录,并替换;3:有多个唯一索引,并且有多条记录被删除insert,因考虑每个唯一索引 replace into 表(属性)values(...),(...); replace into 表 set 属性=属性值,属性=属性值... 来源: oschina 链接: https://my

Linux(Centos)全自动异地备份数据(WEB+Mysql)

拥有回忆 提交于 2021-01-29 07:15:22
文章开始之前,先问下各位站长一个问题:什么东西对于站长是十分重要的?其实对于站长而言,很多东西都是很重要的。但我们现在排除外在因素,把范围缩小到网站系统本身,哪些是非常重要的呢?网站数据就是其中之一了。 网站数据包括程序文件本身、网站运行过程中不断产生的附件数据(图片、文档、视频等)以及数据库文件,三大块总括为网站数据。 以 自己为例,在这两年多的站长经历来看,最让我痛苦的就是某一天起床,一直苦心经营的网站打不开了,检查过DNS也正常,最后询问空间运营商发生什么事了, 获知的结果系:服务器硬盘损坏,所有数据无法恢复(在这备注下:一般小站长买的机器或者空间都很低配置的,所以别想有什么数据备份服务,要就加钱买),结 果就是一阵阵的失落。如果网站刚上线运行不久就发生这样的事或者还不会那么心痛,从头再来也不难。假如是一个运行若干年的网站,突然发生这么一次意外就可 以说是重重一击。 刚成为站长的前几个月,我对数据备份这个事情压根没考虑过,直到有一天在群里看到有位群友痛心的经历——网站彻底崩溃,数据全没!!那是经营了3年多的一个老站,就么倒下了,真是闻者伤心听者落泪(有点夸张了)。 我 看到了这样活生生的样板,不做数据备份的后果很严重。所以我现在总结出一个经验:如果真要用心做一个网站,就一定要做好数据备份工作,而且最好能异地备 份,有些朋友以为在机器本地做了备份就乐了,放心了,那就大错

Visual SourceSafe 入门教学

社会主义新天地 提交于 2021-01-13 18:42:17
Visual SourceSafe 入门教学 作者:蔡焕麟 日期: Sep-4-2003 1. 简介 在软件工程的领域里,有一块叫做 SCM ( Software Configuration Management ),有人管它叫「软件建构管理」。 SCM 的传统定义是原始码的版本管理,后来则逐渐演进扩大,还包含了软件开发的一些标准和程序的制定与应用 [Summerville 2000] 。版本管理工具对目前的软件开发开环境来说相当重要,因为不管是软硬件环 境的改变、需求改变、软件本身的 bug... 等等,都会令软件不断地演进,我 们必须记录各个版本,以便随时比对版本之间的差异,或者回到( rollback to )过 去的某个版本;此外,当项目小组成员众多时,工作交接、多人修改同一个档案等情况,都有可能造成档案的版本混乱。例如一支程序本来由张三撰写,可是因为某 些原因(请假、临时支持其它项目、请别人 debug.... )暂时由李四修改,后来又 交回给张三。如果用传统的档案共享机制,每次有这种情形就要互相通知:我改好啰,请把档案从档案服务器搬回你家,万一有人忘了,可能就会造成档案版本错 乱,而东西交到客户手上才发现 bug 依然存在。 因此,如果你曾碰过下列情形,而且深感困扰,你可能就需要版本管理工具的协助: 档案不见了(用鼠标拖放档案时误动作,不知道拖去哪儿放了);

基于DRBD实现数据库高可用

ぃ、小莉子 提交于 2021-01-11 04:07:00
基于DRBD实现数据库高可用 金融行业对数据的一致性要求较高,比较当前主流的高可用架构,选择了DRBD,通过使用COROSYNC来提供集群信息以及状态监测,PACEMAKER负责故障转移以及资源的启动停止和监控,在PRIMARY出现问题的时候,通过PACEMAKER控制VIP迁移来实现高可用,使用KEEPALIVED来避免HAPROXY服务器的单点故障。 详细解读 和小伙伴们一起来吐槽 来源: oschina 链接: https://my.oschina.net/u/856019/blog/273787

缓存与数据库一致性

断了今生、忘了曾经 提交于 2020-12-17 01:00:42
1.使用缓存的场景 缓存是提高系统读性能的常用技术,尤其对于读多写少的应用场景,使用缓存可以极大的提高系统的性能 例子:查询用户的存款: select money from user where uid = YYY; 为了优化该查询功能,我们可以在缓存中建立uid->money的键值对。 减少数据库的查询压力。 2. 读操作流程 目前数据库和缓存中都有存储数据,当读取数据的时候,流程如下。 1)先读取缓存是否存在数据(uid->money)。如果缓存中有数据返回结果。 2)如果缓存中没有数据,则从数据库中读取数据。 介绍一个概念: 缓存命中率:缓存命中数/总缓存访问数。 3. 写操作流程 在介绍写操作流程之前,先讨论两个问题 问题一:淘汰缓存还是更新缓存? 淘汰缓存:数据只会写入数据库,不会写入缓存,只会把数据淘汰掉。 更新缓存:数据不但写入数据库,还会写入缓存。 问题二:先写缓存还是先写数据库? 由于对缓存的更新和数据库的更新无法保证事务性操作。一定涉及到哪个先做,哪个后做的问题,我们的原则是采取对业务影响小的策略。下面是四种不同的组合策略 由此可见第四种策略的影响最小,只会造成一次查询缓存miss而已。那么当查询缓存miss的时候,我们该怎么办?很简单,查询数据库,然后将数据库的内容更新到缓存中。可能有人会问第四种策略,如果一上来淘汰缓存就失败了怎么办,当然是直接返回即可

数据挖掘、机器学习和数据库

时光毁灭记忆、已成空白 提交于 2020-12-04 02:31:46
数据分析领域是数据挖掘和机器学习技术的舞台。数据挖掘可以视为机器学习和数据库的交叉,它主要利用机器学习界提供的技术来分析数据,利用数据库界提供的技术来管理数据。 机器学习 机器学习是把无序的数据转换成有用的信息。机器学习在统计学的基础上,结合计算机科学和工程技术,将理论转换为行之有效的计算机算法,以探求数据背后的真实含义。 机器学习包括监督学习和无监督学习两大类。 注意:传统的机器学习研究并不把海量数据作为处理对象,很多算法和技术是为处理中小规模数据而设计的;如果直接将传统的机器学习技术应用于海量数据,那么实际效果可能很差,甚至根本无法使用。因此,对于当今大数据应用,传统机器学习算法和技术有必要进行针对大数据的改造。 监督学习 如果想要预测目标变量的值,则选择监督学习算法。 如果目标变量是离散型,则选择分类算法;如果目标变量是连续型的数值,则选择回归算法。 常见的监督学习算法有:k-近邻算法、朴素贝叶斯算法、支持向量机、决策树、线性回归、局部加权线性回归、Ridge回归、Lasso最小回归系数估计。 无监督学习 如果不想预测目标变量的值,则选择无监督学习算法。如果仅需要将数据划分为离散的组,则使用聚类算法;如果还需要估计数据与每个分组的相似程度,则使用密度估计算法。 常见的无监督学习算法有:K-均指、DBSCAN、最大期望算法、Parzen窗设计。 数据库 这里的数据库

2014恒生电子实习生笔试数据库部分

≯℡__Kan透↙ 提交于 2020-11-19 04:48:37
数据库部分我都忘光了,回来后查手册和找同学帮忙,终于做出来了。 #第1题答案 SELECT deptno, max(sal), min(sal) FROM emp GROUP BY deptno; #第2题答案 ALTER TABLE emp ADD remark VARCHAR(64); #第3题答案 select e.deptno,d.dname,e.ename,e.sal from emp AS e,dept AS d where e.deptno=d.deptno and (sal>(select avg(sal) from emp group by deptno having deptno =e.deptno)); #第4题答案 SELECT emp.deptno,dname,mgr,AVG(sal) AS mean FROM emp,dept WHERE emp.deptno=dept.deptno GROUP BY deptno,mgr ORDER BY mean DESC; #第5题答案 select e.deptno,e.ename,e.sal, (select count(*) from emp where sal<e.sal) from emp e where (select count(*) from emp where sal<e.sal)>5;

Android之获取手机上的图片和视频缩略图thumbnails

落花浮王杯 提交于 2020-11-13 02:27:05
【0】大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲、图片和视频等信息,如果我们需要快速提取图片和视频缩略图可以直接访问 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails这两个数据库,即可查询出来缩略图 如何判断文件呢? 可以通过Cursor遍历数据库,对比INTERNAL_CONTENT_URI字段的值,这是一个Uri我们可以转成String,这里保存着Android手机SD卡上的多媒体文件完整路径, 有关具体的缩略图可以通过getThumbnail(ContentResolver cr, long origId, int kind, BitmapFactory.Options options) 或getThumbnail(ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options) 方法获取,这两种方法返回Bitmap类型,而缩略图的分辨率可以从HEIGHT和WIDTH两个字段提取,在Android上缩略图分为两种,通过读取KIND字段来获得,分别为MICRO

数据库开发管理中的十条建议

主宰稳场 提交于 2020-11-08 16:31:43
因为主要管理数据库平台,所以和公司各个部门的相关技术人员都打过不少交道,然后从日常沟通中,了解到不少技术人员对数据库的观念,有正确的,有错误的,今天就列一些常见的错误观念: 1,发现锁表严重情况,会立刻想到改用Innodb,好像Innodb的行级锁之后,就不会表锁了,持这种观念的开发人员不在少数,其实他们不知道在做排序或是where条件复杂的情况下,一样会产生表锁。 2, 发现磁盘IO过大,会立刻想到分表,(这个方向是好的),但是一问,结果是分几千张表,认为这样之后,磁盘IO压力就会下降,其实分表并不能解决磁盘IO,结合分库+分表,然后分担到不同的物理机器,这样才能真正做到拆分,降低磁盘IO。 3, 大部分应用开发人员都会对表名定义的很通俗,如user,其实这样做不好,因为在进行抓包分析时候,这种没有特征的表名会导致故障排查变难。 4, 大部分应用开发人员不喜欢定时清理历史数据,只管存,不管清,导致项目数据量达到一定程度,再跑清理程序时候会比较影响服务。 5, 有些应用开发人员缺乏对表数据字段的控制,一个表放100多个字段,超级恐怖。 6,还有的应用开发人员干脆把表定义的超级多mediutext,拿数据库当存储用了,而且是冷热数据都放一起,搞得偶很无语。 7,应用开发人员经常会跑一些奇怪的join,嵌套子查询的SQL,但是却不去explain一下到底会有多大的扫描集