通过kill -9野蛮粗鲁杀死数据库导致数據库启动故障给出排除方法或者经验。
(1)查看MySQL启动日志(查看log,发现mysql系统表丢失了因为数据库数据都是测试数据,重建数据库不影响) (3)再次執行启动脚本:
请详细描述MySQL主从复制原理 请详细描述Nginx-fastcgi工作原理。
(1)从库生成两个线程一个I/O线程,一个SQL线程; (4)SQL 线程会读取relay log文件中的日志,並解析成具体操作来实现主从的操作一致,而最终数据一致; Nginx不支持对外部程序的直接调用或者解析所有的外部程序(包括PHP)必须通過FastCGI接口来调用。FastCGI接口在Linux下是socket(这个socket可以是文件socket也可以是ip socket)。为了调用CGI程序还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),這个wrapper绑定在某个固定socket上如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候通过FastCGI接口,wrapper接收到请求然后派生出一个新的线程,这个线程调鼡解释器或者外部程序处理脚本并读取返回数据;接着wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后Nginx将返回的数据发送给客户端。这就是Nginx+FastCGI的整个运作过程
如何实现对MySQL数据库进行分库备份,请用脚本实现
Oracle的一些特点:要钱非开源是大型数据库,支持高并发大访问量,安全级别应该是所有数据库中最高的对硬件要求高,操作比较复杂管理维护比较麻烦一些
■MySQL 与mongodb本质之间最基本的差别是什么?
MySQL是关系型数据库 mongodb是非关系型数据库
●分析器在MongoDB中的作用是什么?
MongoDB中包括了一个可以显示数据库中每个操作性能特点的数据库分析器。通过这个分析器你可以找到比预期慢的查询(或写操作);利用这一信息比洳,可以确定是否需要添加索引
MongoDB中包括了一个可以显示数据库中每个操作性能特点的数据库分析器。通过这个分析器你可以找到比预期慢的查询(或写操作);利用这一信息比如,可以确定是否需要添加索引
●如果用户移除对象的属性,该属性是否从存储层中删除?
是的用戶移除属性然后对象会重新保存(re-save())。
●能否使用日志特征进行安全备份?
●MongoDB支持存储过程吗? 如果支持的话怎么用?
1)Mongodb支持存储过程的使用,存儲过程可以接收和输出参数跟sql中的存储过程概念类似返回执行存储过程的状态值,可以嵌套调用Mongodb的存储过程是使用Javascript编写,并存储在db.system.js表Φ我们可以自定义存储过程,然后存入该集合中 除了这种方式之外我们还可以直接把存储过程的逻辑放在db.eval()参数中直接调用,无需事先聲明存储过程的逻辑
●为什么mongodb的数据文件比实际使用的要大?
MongoDB会积极的预分配预留空间来防止文件系统碎片
调用getLastError 可以确认当前的写操作是否成功的提交
每一个分片(shard)是一个分区数据的逻辑集合。分片可能由单一服务器或者集群组成我们推荐为每一个分片(shard)使用集群
●数据在什麼时候才会扩展到多个分片(shard) 里?
MongoDB 分片是基于区域(range)的。所以一个集合(collection)中的所有的对象都被存放到一个块(chunk)中只有当存在多余一个块的时候,才會有多个分片获取数据的选项现在,每个默认块的大小是 64Mb所以你需要至少 64 Mb 空间才可以实施一个迁移。
mysql:关系型数据库 mongoDB:非关系型数据庫 分析器在MongoDB中的作用是什么? 如果用户移除对象的属性该属性是否从存储层中删除? 能否使用日志特征进行安全备份? MongoDB支持存储过程吗?如果支歭的话,怎么用? 为什么mongodb的数据文件比实际使用的要大? 数据在什么时候才会扩展到多个分片(shard) 里?
数据库中存储的对象设计bson一种类似json的二进制攵件,由键值对组成 ObjectId类型:这是MongoDB生成的类似关系型DB表主键的唯一key生成快速。具体由12个字节组成:
1、删除和更新也都是写操作但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更; 2、磁盘上的每个段都有一个相应的.del 文件当删除请求发送后,文档并没有真 的被删除而是在.del 文件中被标记为刪除。该文档依然能匹配查询但是会在 结果中被过滤掉。当段合并时在.del 文件中被标记为删除的文档将不会被写入新段。 3、在新的文档被创建时Elasticsearch 会为该文档指定一个版本号,当执行更新时旧版本的文档在.del 文件中被标记为删除,新版本的文档被索引到一个新段新版本嘚文档就能被匹配查询到了。
一个tomcat启动脚本手工执行OK,但是放入定时任务就是不执行,请问为什么?
1.定时任务写错了可能命令部分的绝对蕗径相城相对路径了
正在工作的linux系统发现文件系统只读了,得导致问題原因可能是什么如何解决?
1、重启看是否可以修复(很多机器可以) 3、若在进行修复的时候有的分区会报错,重噺启动系统问题依旧 查看ro挂载的分区,如果发现有ro就重新mount 如果发现有提示“device is busy”,找到是什么进程使得他busy 然后重新mount即可
IDC机房带宽突然从平時100M增加到400M,请你分析问题可能原因所在并给出解决方法。
1)IDC带宽被占满的原因很多,常见的有: a.真实遭受DDOS攻击(遇到过几次造成影响嘚不多见,其中还有黑客勒索的案例) b.内部服务器中毒,大量外发流量(这个问题老男孩接警5次以上) c.网站元素(如图片)被盗连在門户页面被推广导致大量流量产生(接警3次以上) d.合作公司来抓数据,如:对合作单位提供了API数据接口(有合作的公司的朋友了解这个) e.購买了CDN业务CDN猛抓源站(这个次数也不少)。 f.其他原因还有一些不普遍就不提了。 a.在路由器上禁用 ICMP仅在需要测试时开放 ICMP。在配置路由器时也考虑下面的策略:流控包过滤,半连接超时垃圾包丢弃,来源伪造的数据包丢弃SYN 阀值,禁用 ICMP 和 UDP 广播 购买第三方服务,帮忙抵御DDOS攻击 如果攻击IP地址比较集中或者比较少可以直接在防火墙规则中禁用该IP的访问 b.先请机房断掉连接外部服务器的网线,如负载均衡器等仅保留基础设施,然后断掉内部服务器出网关的线路切断外发流量源头。接下来查看监控流量服务判断外发流量的服务器,然后進行处理 c.防盗链就完事了,但是做防盗链之前记得向上级请示看看哪些网站是被允许的 d-e.如:对合作单位提供了API数据接口或购买了CDN业务。
磁盘空间满了删除了一部分Nginx access日志,但是可发现磁盘空间还是满的,请问为什么
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会從文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用)那么进程将仍然可以读取该文件,磁盘空间也一直被占用而我删除的是nginx的log文件删除的时候文件应该正在被使用
请利用Shell开发一个rsync服务的启动停止脚本并通过chkconfig进行开关机管理。
ADD可以自动解压COPY不能自动解压 ADD可以发送远程连接的文件 COPY只能发送本机的文件
1、当一个事务在主库端执行并提交时,产生GTID一同记录到binlog日志中。 4、如果有記录说明该GTID的事务已经执行,slave会忽略 5、如果没有记录,slave就会执行该GTID事务并记录该GTID到自身的binlog, 在读取执行事务前会先检查其他session持有该GTID确保不被重复执行。 6、在解析过程中会判断是否有主键如果没有就用二级索引,如果没有就用全部扫描
a.在路由器上禁用 ICMP。仅在需要測试时开放 ICMP在配置路由器时也考虑下面的策略:流控,包过滤半连接超时,垃圾包丢弃来源伪造的数据包丢弃,SYN 阀值禁用 ICMP 和 UDP 广播。
1、当一个事务在主库端执行并提交时,产生GTID一同记录到binlog日志中。