自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Golang 计算两个时间相差多少分钟

【代码】Golang 计算两个时间相差多少分钟。

2022-12-15 18:57:02 832

原创 Golang float64保留三位小数

【代码】Golang float64数据保留三位小数。

2022-12-15 18:53:13 1087

原创 Golang float64转decimal再加减乘除运算,解决float64数据精度问题

【代码】Golang float64转decimal再加减乘除运算,解决float64数据精度问题。

2022-12-15 18:51:16 1271

原创 Golang 获取今天和昨天零点的时间

golang 获取今天和昨天零点的时间

2022-12-15 18:45:12 1678

原创 golang 计算本周周一日期

golang 计算本周周一日期

2022-12-15 18:42:43 700

转载 用go语言实现查找两个数组的异同

用go语言实现查找两个数组的异同

2022-08-22 11:44:46 534

原创 GO学习每日一题

注:每日一题来源go语言官方公众号day5package mainimport "fmt"//下面这段代码能否通过编译,原因//答:不能 invalid operation: sm1 == sm2 (struct containing map[string]string cannot be compared)//考点:结构体比较//1,结构体只能比较是否相等,但是不能比较大小//2.相同类型的结构体才能比较,结构体是否相同与属性类型和属性顺序相关。如sn3和sn1就是不同结构体/

2022-03-08 22:39:42 568

原创 go语言学习

1.变量定义package mainimport "fmt"func main(){ //定义变量:var //常量定义:const //01-先定义变量,再赋值, var 变量名 数据类型 var name string name = "chenran" var age int age = 20 fmt.Println("name",name) fmt.Printf("name is: %s, age is:%d\n", name,age) //02-定义时直接赋

2022-01-13 22:23:37 2377 1

原创 go命令 build/run/install/env

1.编译:go build -o 指定生成文件的名字go build -o test.exe main.go xx.go2.直接运行程序,不会编译成exe文件1.go run *.go3.安装程序 go env4.查看当前的环境 go env

2022-01-13 20:17:16 238

原创 将goland的terminal配置成shell

再重启terminal成功!

2022-01-13 18:37:28 717

原创 GO环境配置,goland环境配置

分别在官网下载go,The Go Programming Language (google.cn)IDE:goland,GoLand: A Clever IDE to Go by JetBrains自行破解go环境配置:添加GOROOT,GOPATHGOROOT 为go安装路径。存放go语言的标准库GOPATH 为工作目录,结构如下src:存放源代码bin:编译后的程序,即使用go install命令之后存放的位置...

2022-01-13 17:56:15 544 1

原创 阿里云原生学习:02容器的基本概念

一、容器与镜像 1.1、容器:视图隔离,资源可限制,独立文件系统的进程集合资源视图隔离(namespace) 如能看见部分进程,独立主机名等控制资源使用率(cgroup)如2G内存大小,cpu使用个数等独立文件系统(chroot)管理虚拟机=管理基础设施:管理容器=直接管理应用本身 ...

2021-11-19 15:14:28 701

原创 k8s学习笔记-暴露服务--暴露服务踩坑排错

deployment 部署和调度的工具(组件)[root@k8s2 docker]# kubectl create deployment kubernets-bootcamp --image=gcr.io/google-samples/kubernets-bootcamp:v1 deployment.apps/kubernets-bootcamp created#deployment:是一个部署安装容器的一个工具#kubernets-bootcamp:部署任务的名字#--image=gcr.io

2021-05-24 17:15:14 404 2

原创 容器基本概念 ; kubernetes核心概念

1.容器基本概念1.容器与镜像 什么是容器 1.容器是一个视图隔离,资源可限制,独立文件系统的进程集合。 视图隔离:如能看见部分进程,独立主机名等 控制资源使用率:如2G内存大小;CPU使用个数等; 2.给进程提供相对独立的环境。 chroot:Linux提供独立的文件系 cgroup:控制资源使用率 namespace:资源视图隔离 什么是镜像 1.容器集合:运行容器所需要的所有文件集合。 2.dockerfile:描述容器镜像的构建步骤 3

2021-05-24 11:28:15 372 2

原创 VMware虚拟机开机显示you are in emergency mode 解决办法

问题描述:虚拟机开机出错:you are in emergency mode.出错原因:前不久学习lvm逻辑卷时,添加磁盘后,修改了/etc/fstab文件实现开机自动挂载。因为弄了共享文件夹,想每次开机都自动挂载,结果挂载不上,所以报错。解决方法:1.先按 ctrl +D 再输入root密码, 按enter进入2.修改/etc/fstab文件,注释掉自己添加的内容3.init 6 重启...

2021-05-16 09:30:55 4606 3

原创 lvm逻辑卷

lvm示例应用案例描述: 增加四块scsi硬盘,每块100G,并构建lvm逻辑卷,挂载到相应目录下传统的分区方式常用命令临时添加IP地址:ip add add 192.168.10.222/24 dev ens33查看有哪些磁盘[root@sc-lvm ~]# fdisk -lDisk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O

2021-05-10 20:33:16 193

原创 minikube的部署和安装,排错

minikube的部署和安装安装minikube的步骤环境准备:虚拟机至少2个cpu核心,2G内存,磁盘20G推荐使用2个cpu核心,4G的内存,100G的磁盘空间前期:[root@cali ~]# hostname minikube1.Install kubectl安装kubectlhttps://kubernetes.io/docs/tasks/tools/install-kubectl/ --》官方文档官方提供的安装方法:如果虚拟机不能翻墙是不能执行的。curl -LO ht

2021-05-09 21:25:04 1252

原创 在linux中关闭防火墙

在linux中关闭防火墙selinux(secure linux 安全的linux)selinux 是linux下的安全措施机制,用来保护linux系统的安全。相当于另外一个安全工具[root@localhost ~]# getenforce 查看selinux安全策略是否开启Enforcing[root@localhost ~]# setenforce 0 设置selinux的安全策略不要强制执行,只是给予提醒[root@localhost ~]#[root@localhost ~]#

2021-05-08 11:44:53 3535

原创 mysql读写分离

读写分离master:192.168.2.77slave:192.168.2.74mysqlrouter:192.168.2.1051,安装mysqlrouter[root@localhost ~]# rpm -ivh mysql-router-community-8.0.23-1.el7.x86_64.rpm 2.修改mysqlrouter的配置文件[root@localhost ~]# vim /etc/mysqlrouter/mysqlrouter.conf[routing:re

2021-04-24 15:44:26 153

原创 mysql 异步复制VS半同步复制

MySQL数据复制原理异步复制:默认情况下,MySQL的复制是异步复制,主服务器及其从服务器是独立的。异步复制可以提供最佳的性能,主服务器将更新的数据写入二进制日志(Binlog)文件后,无需等待验证更新数据是否已经复制到从服务器中,就可以自由处理其它进入的事务处理请求。但如果在主服务器或从服务器端发生故障,会造成主从数据的不一致,甚至在恢复时造成数据丢失。半同步复制:半同步复制是从MySQL5.5开始引入的功能,可以确保主服务器和访问链中至少一台从服务器之间的数据一致性和冗余。一台主服务器和其许

2021-04-20 11:30:14 253

原创 mysql 组从服装IO线程没起来,出现‘Could not find first log file name in binary log index file‘错误的解决办法

错误Slave_IO_Running: NoLast_IO_Error: 'Could not find first log file name in binary log index file'解决办法:1.从机器停止slavemysql> slave stop;2.在master上刷新日志:mysql> flush logs;3.记录新的master的bin的位置:root@mysql 21:22 mysql>show master status;+---

2021-04-18 21:24:54 180

原创 mysql 基于GTID的主从复制

基于GTID的主从复制1.什么是GTID?1、全局唯一,一个事务对应一个GTID2、替代传统的binlog+pos复制;使用master_auto_position=1自动匹配GTID断点进行复制3、MySQL5.6开始支持4、在传统的主从复制中,slave端不用开启binlog;但是在GTID主从复制中,必须开启binlog5、slave端在接受master的binlog时,会校验GTID值6、为了保证主从数据的一致性,多线程同时执行一个GTID**2、工作原理1、master更新数据

2021-04-12 21:44:13 105

原创 搭建一个简单的MySQL主从复制集群

搭建一个简单的MySQL主从复制集群环境: 2台2c/G的服务器(虚拟机),centos7.9,mysql5.7.33简介: 为了提升mysql的并发能力构建一个简单的MySQL集群,实现读写分离功能,大大提升MySQL集群的业务处理能力,同时深入学习MySQL的整体部署和对集群架构的理解。项目步骤:1.准备2台安装好的系统的机器,使用脚本一键部署好二进制版本的MySQL,并设置好my.cnf配置文件内容。一键安装脚本:#新建用户mysqluseradd -s /sbin/nologin

2021-04-11 17:33:52 124

原创 mysql全备+二进制日志恢复操作

备份和还原操作:1-产生一个全新的二进制文件root@nongda 11:21 mysql>flush logs;Query OK, 0 rows affected (0.01 sec)root@nongda 11:22 mysql>root@nongda 11:22 mysql>show master status;+--------------------------+----------+--------------+------------------+---

2021-04-08 12:01:44 123

原创 mysql知识点整理

事务事务就是一组sql语句,为了保证一组数据库操作,要么全部成功,要么全部失败。事务是在引擎层实现的,也就是说并不是所有引擎都可以使用事务,MyISAM 就不支持事务,这也是为什么会被 InnoDB 取代的原因。事务的特性 acid原子性 事务要么全部执行成功,要么全部执行失败。在事务提交(commit)成功之后,所有的操作都生效,提交失败,所有的操作都会回滚。隔离性 A 事务对数据库做的变更,在事务未提交之间,数据库中也看不到,B 事务中也看不到。一致性 在事务执行的过程

2021-04-04 20:22:10 1497 2

原创 基于docker swarm的web(nginx)集群

项目名称:基于docker swarm的web(nginx)集群项目环境:docker20.10.2centos8.1.19nginx1.19.6服务器数量:5台;配置:2G,1核项目描述:实现一个高可用的负载均衡web服务器集群,底层采用swarm管理的docker集群提供web服务,大量使用容器来完成web服务的扩展性,高可用性项目步骤:1 设置规划集群拓扑图。一台 Nginx 负载均衡器,一台 NFS 服务器,其余三台为 swarm 集群中的 web 服务器。规划设计好网段,路由,

2021-03-21 10:56:14 1690

原创 ansible入门

1.ansible:无主从无架构,开箱即用,用完即走配置自动化场景的好处:提高效率,提高准确性,降低用工成本ansible工作原理:模块,主机清单2.ansible安装2.1 安装epel-release yum源[root@manager121 ~]# yum install epel-release -y2.2 安装ansible[root@manager121 ~]# yum install ansible -y3.主机清单3.1主机清单的作用ansible controlle

2021-03-20 15:28:55 114

原创 IPtables的四表五链和常用配置

五链:PREROUTING: 处理外部进来的包,刚被网卡接受,此时的数据包还没有做路由决策INPUT: 外部进来的包,已经做完路由决策,发往本机的数据包FORWARD: 外部进来的包,路由决策之后,需要转发的包.OUTPUT: 本机产生需要向外发送的数据包POSTROUTING: 路由决策之后,向外发送的数据包四表:Filter:用于存放所有与防火墙相关操作的默认表,包含内建的链INPUT(处理进入的分组),FORWORD(处理通过的分组),OUTPUT(处理本地生成的分组)NAT: 用于

2021-03-20 11:19:50 140

转载 文件系统,软链接与硬链接的区别

区别:1.硬链接原文件&链接文件公用一个inode号,说明他们是同一个文件,而软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件;2.在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;3.链接数目是不一样的,软链接的链接数目不会增加;4.文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,这不用强调,因为是等同的嘛,而这里软链接显示的大小与原文件就不同了,file1大小是48B,而file1soft是5B,这里面的5

2021-03-14 19:34:27 602

原创 nginx 负载均衡调度算法

1.round-robin轮询,对应用程序服务器的请求以循环方式分发rr 加权轮询weight,权重,默认是1,越大权重越高配置和案例 upstream myweb1{ server 192.168.0.161 weight=1; server 192.168.0.162 weight=3; server 192.168.0.163 weight=6; } server { listen 80;

2021-03-02 21:30:48 226

原创 nginx经常出现的状态码

nginx经常出现的状态码304 数据没有修改 浏览器缓存里的数据和服务器里的数据是一样的 ctrl+F5:强制浏览器刷新,不使用缓存里的数据404 页面未找到403 Forbidden文件权限禁止访问200 服务器已经成功的将数据发送给客户机302 rewrite实验时出现过 临时重定向301 永久重定向 页面改变了位置500 服务器内部错误 如nginx挂了,并发太大,nginx 崩溃了502 nginx做负载均衡的时候后端服务器出问题,导致不能转发到

2021-03-02 21:20:08 334

原创 nginx里文件数量的问题

文件数量的问题目的:为了防止操作系统中内核里允许一个进程打开的文件数量太小,从而对nginx性能发挥产生限制解决方法:1.临时修改[root@localhost ~]# ulimit -n 1000000 修改linux内核对一个进程打开文件数量的限制2.永久有效修改文件:vim /etc/security/limits.conf追加:*soft nofile 1000000 软限制:警告 *hard nofile 1000000 硬限制:直接不允许 ...

2021-03-02 21:14:59 212

原创 nginx里的主配置文件 nginx.conf

目录:cd /usr/local/nginx1/conf配置文件全部内容[root@nginx-mysqldb nginx]# cat nginx.conf# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/do

2021-03-02 21:12:02 263

原创 linux 里启动\关闭nginx

1.未设置开机启动前直接启动nginx[root@www sbin]# pwd/usr/local/nginx1/sbin[root@www sbin]# lsnginx[root@www sbin]# ./nginxnginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)2.设置开机启动/etc/rc.local /usr/local/nginx1/sbin/nginx chmod +x /

2021-03-02 21:06:18 164

原创 linux系统里编译安装nginx

编写shell 脚本,一键安装nginx[root@www ~]# cat onekey_install_nginx.sh #!/bin/bash#useradd chenranid chenran || useradd chenran -s /sbin/nologin chenran#dowmload nginxmkdir -p /nginxcd /nginxcurl -O http://nginx.org/download/nginx-1.19.6.tar.gz#解压源码包ta

2021-03-02 20:58:14 123

原创 网络层-ip地址的概念

IP地址的概述与应用IP地址(Internet Protocol)是由32位二进制数组成,分为4段,是一种网络编码,用来确定网络中的一个节点ip地址分类:ipv4:32位 ,2^32 ,4段,每段8位pv6:128位,2^128IP地址的组成网络部分(network) 主机部分 (host)举例: 192.168.0.105默认网关在没有默认路由的情况下,数据都要先从网关过去,所有一般网络不通时都要先ping一下网关IPv4地址的分类IP地址划分为五类,每一类都有不同的划分规则1

2021-01-14 21:53:34 588

原创 文本三剑客之 :sed命令

sed 命令是利用脚本来处理文本文件pattern space --》处理数据的地方–》处理一行数据后,模式空间会清空hold space --》临时存放数据的地方sed的语法命令格式sed [选项] sed编辑命令 输入文件shell 命令 | sed [选项] sed编辑命令sed [选项] -f sed脚本文件 输入文件sed的常用选项n:只显示匹配处理的行(否则会输出所有) *-e:执行多个编辑命令时(一般用;代替)-i:直接在文件中进行修改

2021-01-09 20:45:09 131

原创 文本三剑客之 :awk命令

列和列之间默认是空白(空格和tab)做为分隔$1 代表第1个字段$2 代表第2个字段以此类推$0 代表整行print 是awk里的输出命令, 是分隔符号‘{}’ 是固定语法NF 每行$0的字段数NR 当前处理的行号FS 当前的输入分隔符,默认是空白字符(空格和tab) field separatorOFS 当前的输出分隔符,默认是空格字符(空格) output field separator练习cat c.txt |tail -3|awk -F, '$NF !=0 {print

2021-01-08 21:34:17 229

原创 grep正则匹配ip地址,网址,邮箱

匹配IP地址1.匹配A类网址 1.0.0.1-126.255.255.254section1:范围在1~126之间 1位数 [1-9]2位数 [1-9][0-9] --->10~993位数 1[01][0-9] --->100~119 12[0-6] --->120~126[1-9]|[1-9][0-9]|1[01][0-9]|12[0-6]section2和section3和section4范围:0-255之间1位数 [1-9]2位数 [1

2021-01-07 15:47:06 1983

原创 文本三剑客之:grep命令

^ 以什么开头$ 以什么结尾^$ 表示空白-i ignore-case 查找时忽略大小写-v invert-match 反转查找,输出与模式不相符的行 -n 显示符合模式要求的行号-r recursive 递归搜索所有文件 grep -r "xiaomi" /lianxi-o only-mache 只显示匹配的内容-A fter-context 显示出匹配的行之后的下文-B before-context 同时显示符合行前面的n行-C center

2021-01-06 20:12:38 149

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除