【运维笔记】数据库无法启动,数据库炸后备份恢复数据 事情起因在做docker作业的时候,把卷映射到了宿主机原来的mysql数据库目录上,宿主机原来的mysql版本为8.0,docker容器版本为5.6,导致翻车。
志愿填报指南:为什么我强烈建议你报考计算机专业 现在正是高考完填报志愿的时刻,Left听到身边朋友提到报考志愿的诸多问题:- 志愿填报怎么填?- 我要报考什么专业?- 这个学校我要不要报?- 我要选好专业还是好学校?这里Left将尝试对这些问题进行解答。在此基础上,Left将从各个角度出发,阐明Left强烈推荐大家在填报志愿时要填报计算机专业的理由。希望对大家有所帮助。
【运维笔记】VM 记录一次centos虚拟机和宿主机之间ping不通的问题 这里ip地址改成同一子网下其他地址就行,不要跟网关和虚拟机ip地址冲突了,这里配成192.168.188.1。可以看到网关是对的,为192.168.188.2,如果不对则需要进行下一步修改VM网络配置的操作。是虚拟机地址,ping不通,因为网关ping不通,虚拟机自然也ping不通了。其实这里的12,通过上面的ping的情况来看,都被排除了,只剩下3和4了。可以看到nameserver地址和网关地址一致,如果不是则改成网关地址。目的主机不可达是啥原因?IPADDR=自己的ip地址,需要在自己的子网内。
【运维笔记】记录一次SSH登录太慢的问题 如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。SSH 登录太慢可能是 DNS 解析的问题,默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。有个简单的解决办法就是在 sshd 的配置文件(sshd_config)里取消 sshd 的反向 DNS 解析。进入SSH配置,找到UseDNS,修改为no。
【运维笔记】Hyperf正常情况下Xdebug报错死循环解决办法 xdebug.max_nesting_level是堆栈深度限制,原先是256,现在改成512,查看报错信息,错误描述是Xdebug检测到死循环,可是打印的堆栈确实正常堆栈,没看到死循环。不愧是最好的cs问答平台Stack Overflow,第一个答案就是我们的解决方法。max_execution_time 是执行超时时间,这里设置为十分钟(?不愧是最强搜索引擎google,第一个结果就是我们想要的。在php.ini中编辑。
【运维笔记】mvware centos挂载共享文件夹 启动虚拟机,启动终端,执行“vmware-hgfsclient”命令可以输出启用的共享文件夹名称(显示的是添加共享目录时设置的共享名称)。如果没有结果,则虚拟机设置中添加的共享文件夹没有启用。从新进入设置启用即可,不用重启虚拟机。依次点击:选项-共享文件夹-总是启用-添加,安装添加向导操作添加自己想共享的文件夹后。成功后即可在文件夹栏看到自己共享的文件夹。可以用“vmhgfs-fuse -h”查看命令帮助。编辑文件:/etc/fstab(没有vim的可以用vi)这里我用的linux内核版本是4.0以上的。
【学习笔记】项目进行过程中遇到有关composer的问题 执行composer install时,首先会到composer.lock查询版本信息,如果没有composer.lock,会通过composer.json生成composer.lock。如果有composer.lock则安装composer.lock的依赖,没有就先根据composer.json生成composer.lock,再安装依赖。composer.lock也放有包版本管理信息,但是composer.lock存放的是确切的版本信息,而composer.json是推荐的版本信息。
【学习笔记】DTM分布式事务 分布式事务是什么**本文的分布式事务指的是DTM下的分布式事务。**分布式事务有两类,这里指的是跨数据库、跨服务的分布式事务。分布式事务指事务的发起者、资源及资源管理器和事务协调者分别位于分布式系统的不同节点之上。
【学习笔记】数据一致性分发 此外,EventBus的机制为事件机制,一开始会在EventBus中注册handler,handler绑定需要处理的事件,当EventBus中收到event时,就会发送给绑定该事件的handler处理。retry方法就是将事件进行重试,先反序列化事件,在将事件丢给对应的监听器处理,如果处理完成就标记完成,否则记录重试次数,如果重试次数达到阈值,则标记失败。如果成功,则数据分发成功,否则记录重试次数(实现至少发送一次的功能,接收数据的服务可能需要做幂等处理),若重试次数达到阈值,分发失败,需人工干预。
【学习笔记】go-gRPC 初尝试 或者移动到自定义目录,并将该目录设置到环境变量中即可。go本身并不支持protoc,要安装插件获得对应支持。解压,将文件夹移动到goroot目录中,可以通过命令。会看到执行编译目录下输出两个文件。这里使用go mod 更新插件。找到对应版本的anz安装文件。如我的goroot目录为。查看goroot目录。使用如下命令进行编译。
【运维笔记】VM centos 环境安装 (笔者在安装时选择了erverything和DVD,发现都是图形界面hhh,浪费了一早上时间)进入网络设置,将网络连接方式设置为nat(网络需要认证才能使用,使用nat映射跳过验证,与宿主机共享ip)CentOs默认shell为bash,本人习惯用zsh,这里记录一下zsh的安装及配置。测试ping网,可以发现只能ping通联网ip,不能ping通域名,需要设置DNS。,找到plugins数组,加入对应插件名字(如下图所示),最后退出编辑,输入命令。,添加一行,内容如下(其中left为用户名)
【学习笔记】初识websocket及其握手过程 客户端收到应答后,要校验Sec-WebSocket-Key的值,如果该值和计算结果不符,或者不符合上面过程任一要求,则拒绝创建websocket连接。如果客户端校验无误,websocket就握手完成了。
【学习笔记】分布式一致性算法——Raft算法 状态简化:将角色进行简化,减少状态数量和可能发生的变动。将问题分解为三个子问题:Leader选举、日志复制、安全性。Raft的易理解性,论文中也有调查分析证明。通过对学习Paxos和学习Raft的学生考试对比,学习Raft的考试得分普遍高于Paxos的考试得分。本篇笔记是根据参考文献里的内容,以及Raft论文进行的个人对Raft相关内容的一篇知识梳理,知识量较大。
【学习笔记】实现线程安全的懒汉单例模式(C++实现) 在程序设计中,难免有一种类会反复被实例化调用。如果这种类被反复实例化,会浪费很多内存空间和实例化过程中的性能下降。然而,单例模式很好的解决了这个问题。下面来看一下懒汉单例模式实现
【学习笔记】Redis 持久化机制 Redis是内存型数据库,如果在运行过程中断电,内存数据会丢失。但是Redis提供了持久化机制,让Redis能在意外发生后能重新恢复原有数据。本文将对RDB和AOF机制进行探讨。