kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

mysql union all 比较两个表不同的数据

https://blog.csdn.net/JustDI0209/article/details/122492293

https://blog.csdn.net/u010931123/article/details/82425580

1
select * from (select * from rs.zzdmk union all select * from rs2.zzdmk) t group by pbf, sxh HAVING count(*)=1;

count( * ) = 1 为两张表数据不同的地方(只有一条结果),count( * ) = 2 为两张表数据相同的地方。

union和union all的区别

union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。

Union

对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。

实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION

Union All

对两个结果集进行并集操作,包括重复行,不进行排序;

如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。

mysql查询时排除某个字段

http://www.yayihouse.com/yayishuwu/chapter/2676

如果使用* 就把所有字段查出来了了,如果把要查询的字段一个个写出来又太多。

解决思路就是先使用以下sql生成你的查询sql语句,然后在代码中执行生成的sql就行了,

其中 rs 数据库名,zzja,zzjb 表名,id 就是要排除的字段名。

1
2
3
SELECT CONCAT('select ', GROUP_CONCAT(COLUMN_NAME), ' from rs.', TABLE_NAME, ' where zgh in ("222");') as str FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='rs' AND table_name in ('zzjb','zzja') and COLUMN_NAME!='id' group by table_name;

SELECT CONCAT('insert into ', TABLE_NAME, '(', GROUP_CONCAT(COLUMN_NAME), ') select ', GROUP_CONCAT(COLUMN_NAME), ' from rs.', TABLE_NAME, ' where zgh in ("222");') as str FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='rs' AND table_name in ('zzjb','zzja') and COLUMN_NAME!='id' group by table_name;

LVM 扩容

https://www.cnblogs.com/yy9knsg/p/16552494.html

https://tool.4xseo.com/article/200995.html

1
2
3
4
5
pvdisplay

vgdisplay

lvdisplay

初始化分区

1
2
3
4
5
6
7
8
9
fdisk /dev/vdx
n

t
L
选 8e LVM分区


pvcreate /dev/vdx1

将分区加入到虚拟卷组名

1
2
3
# vgextend 虚拟卷组名 新增的分区

vgextend centos /dev/vdx1

再次查看卷组情况

1
vgdisplay

查看当前磁盘情况

1
2
3
4
5
df -h
记下需要扩展的文件系统名,例如 /dev/mapper/centos-root

lvdisplay
记下需要扩展的文件系统名,例如 /dev/centos/root

两个是一样的

1
2
3
4
5
ls /dev/centos/root -l
lrwxrwxrwx. 1 root root 7 Dec 20 20:11 /dev/centos/root -> ../dm-0

ls -l /dev/mapper/centos-root 
lrwxrwxrwx. 1 root root 7 Dec 20 20:11 /dev/mapper/centos-root -> ../dm-0

扩容已有的卷组容量

1
2
3
lvextend -L +需要扩展的容量 需要扩展的文件系统名 

lvextend -L +29G /dev/mapper/centos-root

以上只是卷的扩容,然后我们需要将文件系统扩容

1
2
3
cat /etc/fstab | grep centos-root

/dev/mapper/centos-root /                       xfs     defaults        0 0

这里可以看到,文件系统是xfs,所以需要xfs的命令来扩展磁盘空间

1
2
3
xfs_growfs 文件系统名

xfs_growfs /dev/mapper/centos-root

df -h 可以看到,现在已经扩容成功了!