- 博客(46)
- 收藏
- 关注
原创 [物理层]传输方式
以字节为传输单位,字节之间的时间间隔不是固定的,接收端仅在每个字节的起始处对字节内的比特实现同步,需要在每个字节的开头与结尾加上起始位与结束位。在传输数据时,会产生判别时刻的累计误差,造成接收端对比特信号的判别错位,需要使双方的时钟保持同步。穿行传输是指数据是一个比特一个比特依次发送的,在发送端与接收端只用一条数据线路。发送端在发送信号时再发送一路时钟同步信号,接收端按照时钟同步信号来接收数据。接收端在每个比特信号的中间时刻进行检测,判断接收到的是0还是1。外同步:在收发双方添加一条单独的时钟向信号线。
2023-07-08 17:30:48 629
原创 C语言利用uthash.h实现hashmap
int key;//结构体中的key与value的类型可以根据情况自己定义 map * hashMap = NULL;
2022-12-22 15:22:54 302
原创 移位运算符
一、左移:<<将数字的补码相左移动,用0填充#include <stdio.h>int main(){ char a = 65; char c = a<<1; printf("%d", c); return 0;}结果为:-126正数:65正数原反补码相同:01000001左移后结果:10000010 //这个是移动后的原码,需要转为补码反码:11111101补码:11111110结果:-126负数:-65
2022-05-30 19:22:30 134 1
原创 按位逻辑运算符
一、按位取反:~在计算机中,数据都是按照二进制进行存储的,即便有了原码、反码、补码。而二进制数在内存中是以补码的形式存储的。按位取反是将补码的每一位都取反,即0变1,1变0;#include <stdio.h>int main(){ char a = 5; printf("%d", ~a); return 0;}结果为-6;正整数:5正数的原码、反码、补码相同:00000101按位取反:11111010 //此时取反的结果为原码,还需要将其转化为补码
2022-05-30 18:16:07 394 1
原创 解决vs使用scanf函数报错
vs是Microsoft生产,在一些函数中进行了一些改进。避免了内存的泄漏,vs用scanf_s函数代替了scanf函数。但是如果我们还是想要使用scanf函数作为输入,或者说是复制过来的代码输入用的是scanf函数,我们可以简单设置一下一、在文件前引用 #pragma warning(disable:4996) 这句代码的意思是关闭某特定代码行的警告。4996是scanf函数的警告。 如果该项目中有多个文件中都需要消除警告;右键项目->属性->配置...
2022-05-20 23:29:38 266 1
原创 C语言简单题目收集
一、10进制转化为任意数#include<stdio.h>void exchange(int src,int n){ if(src==0) return; else{ exchange(src/n,n); printf("%d", src % n); }}int main(){ int src, n; scanf("%d,%d",&src,&n); exchange(src,n
2022-05-07 20:17:33 873
原创 C语言知识点
标题标识符命名规则①只能由字母、数字和下划线组成,且必须以英文字母或下划线开头。②标识符有长度限制,超过的部分会被忽略,不同编译器长度限制不同③关键字不能作为标识符。c语言关键字(auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、ty
2022-04-11 18:47:54 3116 4
原创 Nginx HA双机热备
HA Cluster高可用集群HA Cluster是指高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。故障自动切换,MASTER/BACKUP,MASTER宕机了,BACKUP充当主机使用。主要时解决web服务的单点故障Keepalived软件概述Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LV
2021-11-26 17:36:20 3645 1
原创 Nginx平滑升级
所谓的平滑升级就是在不停止业务的前提下,实现对Nginx软件版本的升级现有的nginx版本# sbin/nginx -vnginx version: nginx/1.12.2平滑升级停止正在运行的nginx,在以原生的nginx方式启动# systemctl stop nginx # cd /usr/local/nginx# sbin/nginx -c /usr/local/nginx/conf/nginx.conf安装新版本nginx# tar -zxvf nginx-1.20.
2021-11-20 17:01:06 1487
原创 php与nginx连接
Nginx与PHP之间的关系:Nginx与PHP相对而言都是独立的,只不过在应用过程中,解析动态脚本时,Nginx会自动源代码发送给PHP-FPM程序。Nginx在处理静态页面时,效率较高。安装PHP-FPM安装依赖# yum -y install libxml2-devel libjpeg-devel libpng-develfreetype-devel curl-devel openssl-develphp.sh配置安装# vim php.shtar php-7.4.0.tar.gz
2021-11-20 14:27:42 2481
原创 nginx安装
一、下载nginx的官方软件bao社区版:http://www.nginx.org企业版:http://www.nginx.com二、安装nginx安装依赖库# yum -y install pcre-devel zlib-devel openssl-devel使用nginx.sh安装Nginx#!/bin/bashtar -zxvf nginx-1.12.2.tar.gzcd nginx-1.12.2useradd -r -s /sbin/nologin www./configur
2021-11-20 12:35:17 1598
原创 mysqlMHA服务搭建
MHA工作原理1、当master出现故障时,通过对比slave之间I/O线程读取master上的binlog的位置,选择最接近的slave做为新的slave(laster slave)2、其它slave通过与laster slave对比,生成差异中继日志,并应用3、在laster slave上应用master保存的binlog,同时将laster slave提升为master4、最后在其它slave上应用相应的差异中继日志,并开始从新的master开始复制MHA组件MHA Manger(管理节点
2021-11-16 19:58:20 1554
原创 mysql半同步复制
半同步复制所谓的半同步复制就是master每做一个改变数据的操作,要确保slave接收完主服务器发送的binlog日志文件,并写入到自己的中继日志relay log里,然后会给master信号,告诉对方已经接收完毕,master会成功改变这个数据。这样就保证了master-slave的数据绝对的一致(不过却牺牲了master的性能)半同步复制的基本实现1、准备master-slave主从架构2、给master于slave安装plugin插件master端mysql> install pl
2021-11-14 21:56:55 1317
原创 MySQL主从复制架构
什么是主从复制MYSQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力。环境规划安装前准备工作1、时间同步2、上传同样的MySQL安装包到服务器中3、关闭防火墙和selinux开始实验在master服务器端安装MySQLvim mysql.sh#!/bin/bashyum install libaio -ytar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.
2021-11-14 16:59:41 1051
原创 mysql物理备份之增量备份
使用xtrabackup进行增量备份时,要先有全量备份增量备份前的数据mysql> select *from tmp1;+----+------+------+| id | name | age |+----+------+------+| 1 | jack | 11 |+----+------+------+1 row in set (0.00 sec)修改数据后mysql> select *from tmp1;+----+-------+------+| i
2021-11-12 22:41:57 456
原创 使用xtrabackup实现MySQL物理全量备份
xtrabackup优缺点优点:1、备份快速、可靠2、支持增量备份,更加灵活3、备份过程不会打断正在执行的事务4、能够基于压缩等命令节约磁盘空间5、自动实现备份的检验6、还原速度块缺点:1、只能针对innodb表增量备份,myisam表只能做全备2、innobackupex备份myisam表之前要对库进行锁表,如果备份是在从库上进行会影响主从同步,造成延迟,对inndb表备份不会堵塞读写xtrabackup备份原理1、innobackupex先会开启一个xtrabackup_log后
2021-11-12 21:00:43 931
原创 mysql逻辑导入与导出
导出select * into outfile ‘要导出到的目录’ from ‘要导出的表’;mysql> select * into outfile '/tmp/sqlbak/tmp1.txt' from tmp.tmp1;Query OK, 4 rows affected (0.01 sec)查看导出的内容[root@localhost sqlbak]# cat tmp1.txt1 tom 222 jack 203 jarry 204 jie 11导入[root@lo.
2021-11-12 12:23:01 334
原创 mysql逻辑增量备份恢复
什么是增量备份增量备份就是指系统在进行一次完全备份后进行的备份,它会自动对比之前做过的完全备份,只记录备份与之前完全备份增加或者修改的文件。这样实际上它备份的只是每次增加或者修改的部分,由于这部分其实数据量相对于完全备份小很多,因此备份时间短且占用系统资源也较少。但是增量备份的缺点也是很明显的:每次备份的内容都不是相同的,如果想还原备份,那么就需要把完全备份以及后面所有做的增量备份一一还原才可以,而且一旦其中某个环节的增量备份损坏那么其后的所有增量备份也都无法还原了。实验前提准备:1、提前准备数据
2021-11-11 22:55:43 153
原创 msyqldump实现mysql逻辑轻量备份
逻辑备份备份的是建表、建库、插入等操作所执行的sql语句适用于中小型数据、效率相对较低,一般在数据库正常提供服务下进行:mysqldump、mydumper、into outfile等备份实质:是把要备份的数据导出为.sql文件(里面存放的是当前数据库实现的sql语言)数据准备:创建一个tmp的数据库,在tmp库下创建tmp1表,分别写入数据msyql> create database tmp;msyql> use tmp;mysql> create table test1
2021-11-11 20:55:12 333
原创 MySQL权限管理
权限表存放在mysql数据库中,存储账户权限信息表主要有:user、db、tables_priv、columns_priv、 procs_priv、proxies_priv查看某个用户的详细权限:select *from mysql.user where user=‘用户名’\G查看root用户的详细权限:mysql> select *from mysql.user where user='root'\G...
2021-11-07 16:21:15 884
原创 mysql用户创建、删除与修改
一、创建用户语法格式:create user ‘用户名’@‘要创建连接的主句名称或者ip地址’ identified by ‘用户密码’;为mysql创建一个账号,用户名:jack,密码:jackmysql> create user 'jack'@'localhost' identified by 'jack';Query OK, 0 rows affected (0.00 sec)mysql> select user,host from user;+--------------
2021-11-06 17:08:21 703
原创 msyql5.7.27blibc版本安装
一、准备工作查询系统中是否含有原有的mysql:rpm -qa | grep mysql删除系统中的mysql:rpm -e --nodeps 查询出的版本查询系统中是否含有原有的mariadb:rpm -qa | grep mariadb删除系统中的mariadb:rpm -e --nodeps 查询出的版本删除/etc/my.cnf:rm /etc/my.cnf在系统中创建mysql用户的用户组groupadd mysqluseradd -r -g mysql -s /bin/false
2021-11-06 13:59:06 292
原创 sed命令
一、sed介绍sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的。1、首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也称为模式空间)2、然后根据需求处理临时缓冲区中的行,完成后把该行==发送到屏幕上1、由于sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会直接修改原文件2、Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作,对文件进行过滤和转换操作二、sed使用方法介绍语法:sed [选项] 处理动作 文件名常用选项|选项
2021-11-04 21:29:50 195
原创 awk命令
一、awk简介awk是一种编程语言,用于linux/unix下对于文本和数据进行处理,数据可以来自于标准输入、一个或多个文件,或是其他命令的输出。awk处理文本和数据的方式:逐行扫描文件,默认是从第一行到最后一行,寻找匹配的行,并执行相应的操作awk可以用"统计数据",如网站的访问量、访问ip量…;支持条件判断;支持for和while循环;正则表达式。二、使用方式awk有两种使用方式:命令行模式和脚本模式命令行模式语法:awk 选项 ‘命令部分’ 文件名如果要引用shell变量需用双引号引
2021-11-03 23:54:35 761
原创 shell常用命令
一.grep行截取1.作用:grep可以用来截取文件的查询,也可以用来过滤普通文件的内容。但截取出结果是一行2.格式grep [参数] 文件3.参数-C<显示行数> --context=<显示行数>或-<显示行数> // 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。 -c --count // 计算符合范本样式的列数。-d<进行动作> --directories=<动作> // 当指定要查找的是目录而非文件时,必须使用
2021-10-27 18:52:23 1172
原创 raid0、raid1、raid5、raid10搭建
一.raid0搭建 Raid0:速度N倍,容量N倍,安全性较差。实验准备:用/dev/sdb2和/dev/sdb2两个硬盘分区模拟硬盘搭建raid0(两块硬盘尽量一样大)在这里插[root@local ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsdb 8:16 0 10G 0 disk├─sdb1 8:17 0 2G 0 part├─sdb2
2021-10-26 23:12:08 1549
原创 物理卷、卷组、逻辑卷
物理卷与卷组逻辑卷的关系:一.物理卷pvcreate /dev/sdb1 //将/dev/sdb1的物理硬盘分区创建为物理卷pvs //查看系统中的物理卷pvremove /dev/sdb1 //删除物理卷二.卷组vgcreate vg01 /dev/sdb1 //将/dev/sdb1物理卷创建为vg01卷组pvs //查看系统中的物理卷vgextend vg01 /dev/sdb2 //将/dev/sdb2物理卷添加到vg01卷组中vgreduce vg01 /d
2021-10-26 20:01:54 625 1
原创 MBR磁盘分区与三种方式挂载
mbr磁盘只能分4个主分区或者分3个主分区+1个扩展分区,扩展分区可以分多个逻辑分区分享一写命令:lsblk 查看系统可用设备块挂载信息fd -h 查看系统已经挂载的信息fdisk -l 查看系统所有设备分区情况partx 设备块分区后,刷新分区情况partxprobe 刷新系统分区表的变化blkid 查看设备块的信息(文件系统、uuid)一.磁盘创建分区Command (m for help): m //输出帮助信息 Command action...
2021-10-26 16:56:38 1199
原创 搭建ftp服务器
1.准备工作关闭防火墙:systemctl stop firewalld关闭selinux:setenforce 02安装ftp服务yum -y install vsftpd配置开机自启:systemctl enable vsftpd3.配置文件查看配置文件中除去注释内容:grep -v ^# /etc/vsftpd/vsftpd.confanonymous_enable=YES 支持匿名用户访问local_enable=YES 非匿名用户write_en
2021-10-22 20:43:02 383
原创 rsync服务+inotify自动代理+xinetd
1.将rsync做为服务:centos7可以直接使用rsync命令,底层还是基于ssh服务。当然也可以将rsync作为服务使用:关闭防火墙:systemctl stop firewalld关闭selinux:setenforce 0创建/tmp/app目录作为需要备份目录:mkdir -p /tmp/app顺便创建几个测试文件:touch /tmp/app/a{1..9}.txt安装rsync服务:yum -y install rsync编辑rsync配置文件:vim /etc/
2021-10-22 14:09:51 290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人