Linux之SSH、rsync

news2024/12/22 23:13:21

目录

Linux下的SSH服务

SSH服务简介和原理

 SSH结构

SSH服务附带的SCP命令

使用ssh服务

ssh基本用法

ssh服务的两种认证类型

基于口令认证

基于密钥认证 

 ssh服务常见配置

1.修改ssh端口

2.禁止root用户登录

3.限制ssh监听的IP

 4.禁止使用密码登录

 ​​Rsync远程同步备份工具

Rsync工作原理

 Rsync安装与启动

Rsync的两种认证方式

1、Rsync --daemon认证

2、ssh认证

两者的区别

Rsync命令参数

 Rsync基于SSH认证的使用

rsync类似与cp命令

rsync类似与scp命令

rsync类似与rm命令

rsync类似与ls 命令

 rsync基于rsync-daemon认证

服务端的配置

客户端配置

rsync的完全备份和增量备份

rsync+inotify

内核参数

 事件

 操作

 rsync+inotify实践

Linux下的SSH服务

SSH服务简介和原理

        SSH协议中文名叫远程登录协议,是一种远程终端连接工具,可以通过客户端连接到服务端,从而远程控制电脑或服务器。默认端口为22号端口,基于TCP协议

        SSH协议的优点就是数据传输是加密的,并且在传输时数据是压缩传输。既保障了数据的安全性,又大大提高了数据传输速率。

登陆原理

 SSH结构

SSH由服务端 (openssh) 和客户端 (常见为ssh) 组成。

        SSH的服务端为守护进程 (daemon),它在后台进行并且相应来自客户端的连接请求。服务端的进程名为sshd,负责实时监听和控制远端的连接请求。一般包括公共密钥认证,密钥交换,对称密钥加密和非安全连 接等。

        SSH客户端包含 ssh 和 scp (远程拷贝),slogin (远程登录),sftp (ftp的文件传输)等应用程序

SSH服务附带的SCP命令

scp命令是用于远程拷贝文件或目录的命令

格式:scp [参数] 文件  用户@IP地址:目标目录

scp参数:

        -r        复制目录
        -p        复制目录时保留属性
        -P        接端口,默认22号端口
        -l        限制速度

scp可以将文件或目录推送至目标主机;也可以从目标主机拉取文件到本机。举例说明,

现在我使用的主机为192.168.75.130,目标主机为192.168.75.137;

推:scp -r -p /home/monkey.txt 192.168.75.137:/home
    #将130的主机的monkey.txt文件推送到137的主机的/home下
拉: scp -p 192.168.75.137:/home/cpu.sh ./
    #将137的cpu.sh文件拉到130的当前位置下

使用ssh服务

1.检查是否安装ssh服务:rpm -qa | grep openssh 。显示有结果则安装了ssh服务,执行第3步

2.安装ssh服务:yum install openssh -y

3.查看ssh服务状态,并启动:查看:systemctl status sshd; 启动:systemctl start sshd

ssh基本用法

ssh -p user@host

-p    指定端口
user  登陆的用户名
host  登陆的主机地址

        默认端口为22号端口;如果用当前登录用户连接,或本地正在使用的用户名与远程登陆的用户名一致时,登录名可以省略

ssh服务的两种认证类型

基于口令认证

        基于口令认证,也就是我们现在使用的,但是前提是要知道服务端的账号和密码。通过ssh加密实现远程登录。

基于密钥认证 

        大致流程是这样的

  1. SSH客户端以root用户身份创建密钥对
  2. 服务端将公钥信息导入用户root的公钥数据库文件
  3. 客户端以root用户身份连接服务器端root用户测试

 ssh服务常见配置

ssh服务的配置文件为 /etc/ssh/sshd-config

1.修改ssh端口

         ssh服务默认端口为22号端口,我们把默认端口设置为任意其他端口(注意:修改的都那口,不能被占用,以免无法启动)。

 修改完成后,重启sshd服务

systemctl restart sshd

这时候,再次使用xshell或mobaxterm打开窗口连接虚拟机时,会发现无法连接。

2.禁止root用户登录

 将第二行的内容注释去掉后,将yes修改为no,然后重启ssh服务,会发现使用root用户登录系统时,系统发出 Access denied(拒绝访问)的回复。

3.限制ssh监听的IP

此方式适用于多个虚拟网卡的设备,可以避免多个主机连接服务器,从而减少主机数据损坏的风险。

首先我创建了一个新的虚拟网卡,IP为192.168.75.170 。让后将这个IP添加到文件中

 接着,重启服务 systemctl restart sshd

验证

 4.禁止使用密码登录

此方式主要是为了提高安全性,禁止密码登录的形势下,只能通过密钥登录。因此我们在设置之后就不能通过密码进行登录,只有设置了密钥才能登录成功。

 ​​Rsync远程同步备份工具

Rsync使用的端口号是873端口。

Rsync服务优点如下:
1.备份属于增量备份,只传输修改过的文件。
2.在文件传输前和文件传输后,会对传输的文件进行压缩,从而可以减少传输带宽,降低传输时间。
3.可以对整个目录树和文件系统进行备份,可以选择性的备份软硬链接、时间、文件属性等等内容。

Rsync工作原理

1、客户端构造FileList,FileList包含了需要与服务器同步的所有文件信息对name- >id(id用来唯一表示文件例如MD5)

2、客户端将FileList发送到服务器。

3、服务器上rsync处理客户端发过来的FileList,构建新的NewFileList。 其中根据 MD5值比较,删除服务器上已经存在的文件信息对,只保留服务器上不存在或变化 的文件。

4、客户端得到服务器发送过来的NewFileList,然后把NewFileList中的文件重新传 输到服务器

 Rsync安装与启动

安装命令如下

yum install -y rsync

 启动后,使用netstat命令查看端口是否打开

rsync --daemon

[root@group7 ~]# netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::873                  :::*                    LISTEN
tcp6       0      0 :::3306                 :::*                    LISTEN
tcp6       0      0 :::111                  :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 :::33060                :::*                    LISTEN

Rsync的两种认证方式

1、Rsync --daemon认证

rsync在rsync-daemon认证方式下,默认监听TCP的873端口。

rsync-daemon认证方式是rsync的主要认证方式,这个也是我们经常使用的认证方式。 并且也只有在此种模式下,rsync才可以把密码写入到一个文件中。

注意

rsync-daemon认证方式,需要服务器和客户端都安装rsync服务 并且只需要rsync服务器端启动rsync,同时配置rsync配置文件。

客户端启动不启动rsync服务,都不影响同步的正常进行。

2、ssh认证

rsync在ssh认证方式下,可通过系统用户进行认证,即在rsync上通过ssh隧道进行传 输,类似于scp工具。

注意:

ssh认证方式,不需要服务器和客户端配置rsync配置文件 只需要双方都安装rsync服务,并且也不需要双方启动rsync。

# 若rsync服务端SSH为标准端口,此时rsync使用方式如下:
rsync -avz /root/test root@10.10.10.10:/root/

# 若rsync服务端SSH为非标准端口,可通过rsync的-e参数进行端口指定。使用方式如下:
rsync -avz /root/test -e 'ssh -p1234' root@10.10.10.10:/root/

两者的区别

        ssh协议认证的数据是通过管道进行传输的,远程连接到主机时,使进程成为 rsync 服务;

而 rsync 认证方式是事先在远程主机上运行 rsync守护进程,使其监听套接字文件,等待客户端的连接。

Rsync命令参数

 Rsync基于SSH认证的使用

rsync 默认使用 ssh 协议进行远程登录和数据传输。

只需数据同步双方安装 rsync,但不必启动 rsyncd 服务。

使用 ssh 认证与传输的缺点是不安全:

登录认证使用的账号是远程主机可登录的系统账号,且需要手动输入密码;

同步数据不受目录限制。

rsync类似与cp命令

rsync类似与scp命令

         rsync可以实现类似与scp命令一样的隧道传输数据。

rsync推文件:

将本地的文件推送到192.168.75.130

[root@tuxing today]# ls
rfv
[root@tuxing today]# rsync /home/today/rfv 192.168.75.130:/home/new
root@192.168.75.130's password:

#在130的主机上查看
[root@group7 new]# ls
[root@group7 new]# ls
rfv

rsync拉文件:

#在192.168.75.134上拆关键文件like,从130主机上将文件拉过来

[root@tuxing home]# touch like
[root@tuxing home]# ls
like  lyj  new  shell  today
 

#从130主机上拉取文件

[root@group7 new]# ls
rfv
[root@group7 new]# rsync 192.168.75.134:/home/like .
root@192.168.75.134's password:
[root@group7 new]# ls
like  rfv

rsync类似与rm命令

        rm命令是对文件或目录进行删除操作的,rsync也可以做到类似的情况

#rm命令操作

[root@group7 new]# ls
like  rfv
[root@group7 new]# rm -rf rfv
[root@group7 new]# ls
like

[root@group7 new]# ls
like
[root@group7 new]# mkdir /null                       #创建一个空文件夹,通过文件覆盖删除文件
[root@group7 new]# rsync -a --delete /null/ /home/new
[root@group7 new]# ls

rsync类似与ls 命令

[root@tuxing home]# ls -l like
-rw-r--r--. 1 root root 0 11月 27 12:57 like
[root@tuxing home]# rsync like
-rw-r--r--              0 2022/11/27 12:57:26 like

 rsync基于rsync-daemon认证

与 ssh 认证不同,rsync 协议认证不需要依赖远程主机的 sshd 服务,但需要远程主 机开启 rsyncd 服务,本地 rsyncd 服务可不必开启。

需要的配置为:两台centos7的虚拟机

服务端的配置

1.文件配置

vim  /etc/rsyncd.conf

uid = rsync                  
gid = rsync
fake super = yes
use chroot = no
max connections = 200                            #最大连接数
pid file = /var/run/rsyncd.pid                     #pid文件路径
lock file = /var/run/rsyncd.lock                  #锁文件路径

exclude = lost+found/
transfer logging = yes                               #记录传输文件日志
timeout = 300                                           #超时时间
log file = /var/log/rsyncd.log                     #指定日志文件
log format = %t %a %m %f %b
ignore errors
read only = false
list = false

hosts allow = 192.168.75.0/24                 #只允许该网段的网络连接
hosts deny = 0.0.0.0/32                            #拒绝该网段连接
auth users = rsync_backup                      #定义虚拟用户,用来进行连接认证。可替换
secrets file = /etc/rsync.passwd               #定义虚拟用户密码文件
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2              #设置不需要压缩的文件

#定义模块信息

[backup]
comment = "backup dir by hello"
path = /backup

2.创建rsync用户

[root@backup ~]# id rsync

id: rsync: No such user

[root@backup ~]# useradd -s /sbin/nologin -M rsync

3.创建数据备份存储目录,并修改属主和属组

[root@backup ~]# mkdir /backup/

[root@backup ~]# chown -R rsync:rsync /backup/

4.创建密码文件,并修改权限

[root@backup ~]#echo "rsync_backup:123456" >> /etc/rsync.passwd

[root@backup ~]#chmod 600 /etc/rsync.passwd

5.启动rsync

#启动

rsync --daemon

#关闭

pkill rsync

客户端配置

1.验证客户端是否安装rsync

[root@group7 ~]# rpm -qa | grep rsync
rsync-3.1.2-11.el7_9.x86_64

2.创建相应的密码文件

[root@nfs01 ~]# echo "123456" >>/etc/rsync.password

[root@nfs01 ~]# chmod 600 /etc/rsync.password

3.实现数据传输

#客户端

[root@group7 backup]# touch hello.txt
[root@group7 backup]# ls
hello.txt  ij  tg

[root@group7 backup]# rsync -avzP /etc/hosts rsync_backup@192.168.75.134::backup
Password:
sending incremental file list
hosts
            158 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)

sent 140 bytes  received 43 bytes  40.67 bytes/sec
total size is 158  speedup is 0.86
 

#服务端查看

[root@tuxing backup]# ls
hosts  ij  tg

 # –delete 选项,表示客户端上的数据要与服务器端完全一致,多则删之,少则补之 # 用的时候要小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把 你的数据全部删除

rsync -avzP --delete myuser@10.10.10.15::backup /tmp/test/     

     

# 下面的 rsync 命令将10.10.10.10主机上的 /www 目录(不包含 /www/logs 和 /www/conf子目录)复制到本地的 /backup/www/

rsync -avzP --delete --exclude "logs/" --exclude "conf/" \ 10.10.10.10:/www/ /backup/www/

 rsync 适合对改动不频繁、大小比较小的文件进行同步,对于改动频繁的大 文件,只能偶尔同步一次,相当于备份的功能,而不是同步

rsync的完全备份和增量备份

完全备份

        第一天,A主机向B主机发送10G文件,被B全部接收;第二天A又增加了5G文件,这时又将15G的文件全部传送给B主机。也就是A每天像B传送自己的全部文件

增量备份

        第一天,A主机向B主机发送10G文件,被B全部接收;第二天A又增加了5G文件,传送前A先会去向B主机查看是否有该文件,发现有5G文件不存在,则只发送5G新增的文件。

rsync+inotify

        inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多

内核参数

/etc/sysctl.conf(内核参数配置文件),需要配置
max_queue_events :监控事件队列大小
max_user_instances :最多监控实例
max_user_watches :每个实例最多监控文件数
配置的监控数量应该大于监控目标的总文件数

 事件

inotify 监控的文件系统事件:

(1)access:文件被访问。

(2)modify:文件被修改。

(3)attrib:文件元数据被修改。

(4)open:文件被打开。

(5)create:在被监控的目录中创建了文件或目录。

(6)delete:删除了被监控目录中的某个文件或目录。 ......(还有更多事件)

 操作

不指定监控某个事件,打开两个shell窗口,进行实验操作

 也可以通过 -e 参数来监听具体事务

 rsync+inotify实践

服务端配置

 vim /etc/rsyncd.conf

log file = /var/log/rsyncd.log # 日志文件位置,启动rsync后自动产生这 个文件,无需提前创建 在源服务器(客户端)

inotify.sh pidfile = /var/run/rsyncd.pid # pid文件的存放位置

lock file = /var/run/rsync.lock # 支持max connections参数的锁文件

secrets file = /etc/rsync.pass # 用户认证配置文件,里面保存用户名称和 密码,必须手动创建这个文件

[etc_from_client] # 自定义同步名称

path = /ysd/ # rsync服务端数据存放路径,客户端的数据将同步至此目 录

comment = sync etc from client

uid = root # 设置rsync运行权限为root

gid = root # 设置rsync运行权限为root

port = 873 # 默认端口

ignore errors # 表示出现错误忽略错误

use chroot = no # 默认为true,修改为no,增加对目录文件软连接的备份

read only = no # 设置rsync服务端为读写权限

list = no # 不显示rsync服务端资源列表

max connections = 200 # 最大连接数

timeout = 600 # 设置超时时间

auth users = admin # 执行数据同步的用户名,可以设置多个,用英文状态 下逗号隔开

hosts allow = 172.16.12.128 # 允许进行数据同步的客户端IP地址,可以设置 多个,用英文状态下逗号隔开

hosts deny = 192.168.1.1 # 禁止数据同步的客户端IP地址,可以设置多 个,用英文状态下逗号隔开

 //创建用户认证文件

[root@131 ~]# echo 'admin:123456' > /etc/rsync.pass

[root@131 ~]# cat /etc/rsync.pass admin:123456

[root@131 ~]# chmod 600 /etc/rsync*

 客户端配置

[root@60 ~]# echo '123456' > /etc/rsync.pass

[root@60 ~]# chmod 600 /etc/rsync.pass

inotify.sh

host=192.168.42.195 # 目标服务器的ip(备份服务器)

src=/runtime # 在源服务器上所要监控的备份目录(此处可以自定 义,但是要保证存在) des=etc_from_client # 自定义的模块名,需要与目标服务器上定义的同步名 称一致 password=/etc/rsync.pass # 执行数据同步的密码文件

user=admin # 执行数据同步的用户名

inotifywait=/usr/bin/inotifywait $inotifywait -mrq --timefmt '%Y%m%d %H:%M' --format '%T %w%f%e' - e modify,delete,create,attrib $src \ | while read files;do

        rsync -avzP --delete --timeout=100 --passwordfile=${password} $src $user@$host::$des

        echo "${files} was rsynced" >>/tmp/rsync.log 2>&1

done

[root@60 scripts]# chmod +x inotify.sh

[root@60 ~]# ./inotify.sh //执行

[root@60 ~]# cd /runtime/ //开另一个终端

[root@60 runtime]# ls

[root@60 runtime]# touch awm //随便创建一个文件

[root@60 ~]# ./inotify.sh

sending incremental file list //开始同步

runtime/

runtime/awm

         0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/2)

sent 125 bytes received 47 bytes 114.67 bytes/sec

total size is 0 speedup is 0.00

[root@131 ~]# cd /ysd/

[root@131 ysd]# ls runtime

[root@157 ym]# ll runtime/

总用量 0

-rw-r--r--. 1 root root 0 10月 11 20:28 awm

//让其在后台运行,并开机自启

[root@60 ~]# chmod +x /etc/rc.d/rc.local

[root@60 ~]# ll /etc/rc.

rc.d/ rc.local

[root@60 ~]# ll /etc/rc.d/rc.local

-rwxr-xr-x. 1 root root 474 3月 24 2020 /etc/rc.d/rc.loca

[root@60 ~]# vim /etc/rc.d/rc.local

# that this script will be executed during boot.

nohup /root/inotify.sh &

touch /var/lock/subsys/loca

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CDGP与CDMP考哪个合适?

在数字经济转型的时代,数据治理已经成为大数据人才提升自身职业素养不可或缺的培训课程,提升大数据治理能力,做数据治理专业化人才。 那么从事数据管理岗位,要不要学习DAMA认证?该怎么选择 答案一定是要看哪个认证的…

希望计算机专业同学都知道这些宝藏博主

湖科大教书匠——计算机网络 “宝藏老师”、“干货满满”、“羡慕湖科大”…这些都是网友对这门网课的评价,可见网课质量之高! 湖南科技大学《计算机网络》微课堂是该校高军老师精心制作的视频课程,用简单的语言描述复杂的问题,…

zabbix自动发现

目录 一、环境准备 1、搭建zabbix基础环境 2、创建被监控主机 二、创建自动发现规则 1、自动发现概述 2、自动发现流程 3、部署监控端主机web2 4、创建自动发现规则 三、创建自动发现后的动作 四、测试自动发现 一、环境准备 1、搭建zabbix基础环境 zabbix基础环境部…

SpringCloud:Nacos注册中心和服务消费方式

目录 一、nacos环境搭建 nacos简介 步骤1:安装nacos 步骤2:启动nacos 启动 步骤3:访问nacos 二、nacos的微服务注册 ①导入pom依赖 shop-common的pom.xml 父工程的pom ②加注解 ③在application.yml中添加nacos服务的地址 ④启动服务…

[附源码]Python计算机毕业设计Django病人跟踪治疗信息管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

python+django大学生心理素质测评及咨询平台

1.系统包括登录模块、消费模块、收入模块和统计模块。 2.登录模块:对用户的管理权限进行验证,确保用户账号的安全。 3.消费模块:包括食品消费、着装消费、家具消费和行车消费,将日常生活中的主要消费进行详细汇总,具体包含购买日期、购买物品…

全国心力衰竭日| 仿生“人工心脏”——心衰患者的“心”希望

积羽沉舟——感冒竟酿心衰 龚先生今年四十多岁,有贤惠的妻子、聪明可爱的儿子,过着平凡却幸福的日子。没想到2017年一次小感冒,竟差点毁掉这个幸福的家庭。2017年的一天,龚先生突然得了一场重感冒,伴随胃痛、浑身无力等…

C++11(二)右值引用移动语义

🧸🧸🧸各位大佬大家好,我是猪皮兄弟🧸🧸🧸 文章目录左值引用和右值引用1.左值与左值引用2.右值与右值引用3.左值引用和右值引用比较左值引用引用右值右值引用引用左值4.右值引用之后的变化5.左…

运动的人需要什么装备?运动健身装备推荐分享

平时健身运动得比较多,对这些健身运动装备也有一定的了解。看今天有点时间,就在这里给大家说说我平时在用的健身装备好了,既可以当成是我自己这些时间健身运动的阶段性总结,也看看能不能对大家有些帮助。不多说别的,直…

【Mybatis编程:查询相册数据列表】

目录 1. 书写执行的SQL语句 2. 在项目的根包下创建pojo.vo.AlbumListItemVO类 3. 在AlbumMapper.java中添加抽象方法 4. 在AlbumMapper.xml中配置SQL语句 5. 在AlbumMapperTests.java中编写并执行测试 1. 书写执行的SQL语句 需要执行的SQL语句大致是: SELECT …

AnalysisView

元数据分析:血统分析、血液分析

[Power BI] 认识Power Query和M语言

数据清洗,可理解为数据整理,对从各类数据源导入的数据,通过一定的方法(如数据的增删改、转换、逆透视、合并等)进行处理,整理成符合要求的数据,然后加载到数据模型中,进行数据可视化 在Power BI中&#xf…

【Java八股文总结】之面试题(三)

文章目录面试线程相关1、线程有哪些状态?2、线程池的核心参数3、sleep VS wait4、lack VS synchronized5、volatile能否保证线程安全?6、悲观锁VS乐观锁7、HashTable Vs CurrentHashMap8、ThreadLocal的理解虚拟机相关1、JVM 内存结构1、程序计数器(线程私有&…

Linux安装CUDA 添加环境变量 多版本CUDA切换 (软链接)

一、 Linux安装CUDA 步骤1. 去官网找到你想安装的CUDA版本: CUDA Toolkit Archive | NVIDIA Developer 步骤 2. 根据你的系统选择合适的系统版本 其中注意上图标红框的 Distribution 和Version 可用指令 cat /proc/version查看,如下: 选择…

居舍杂志居舍杂志社居舍编辑部2022年第27期目录

行业聚焦《居舍》投稿:cnqikantg126.com 走进企业|共推区域合作交流 共助行业转型升级——走进广州百利文仪北京分公司 1-2 CIFF|办好家居产业的连锁展会平台,助推家居产业高质量发展 3-5 CIFF上海虹桥|观展必看:这份史上最全品牌…

【CNN】搭建AlexNet网络——并处理自定义的数据集(猫狗分类)

前言 2012年,AlexNet横空出世。它首次证明了学习到的特征可以超越手工设计的特征。它一举打破了计算机视觉研究的现状。 AlexNet使用了8层卷积神经网络,并以很大的优势赢得了2012年ImageNet图像识别挑战赛。 论文地址:http://papers.nips.c…

Windows OpenGL ES 图像色彩替换

目录 一.OpenGL ES 图像色彩替换 1.原始图片2.效果演示 二.OpenGL ES 图像色彩替换源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 …

MongoDB的使用

MongoDB 是一个跨平台的,以 JSON 为数据模型的文档数据库,是当前 NoSQL 数据库产品中最热门的一种。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的产品。 1、 MongoDB 与 MySQL 数据库 数据…

openGauss 高效数据压缩算法

openGauss 高效数据压缩算法 2.1 主要创新技术点 openGauss 的主要创新技术点总结如下: (一)改进压缩算法,压缩数据单位依然是选择页级别,进一步结合 Page 结构以及本身数据的特征,将 page 交给通用压缩算…

使用ClickHouse JDBC官方驱动,踩坑无数

前言 最近遇到一个ClickHouse的线上问题: Code: 242, e.displayText() DB::Exception: Table is in readonly mode(zookeeper path:/clickhouse/tables/02/xxx) (version 21.12.4.1) (official build) 这个问题我在网上查原因说是由于Zookeeper压力过大&#xf…