常用命令集合

网络
# 1、查看服务器IP是否畅通
ping 192.168.1.1

# 2、查看服务器端口是否畅通
telnet 192.168.1.1 80

# 3、端口扫描(当telnet不通时,可以查看服务是否正常)
nmap -Pn 192.168.1.1 80



达梦数据库
# 1. 注意事项
1.1、dm表作为ck表引擎的时候,结构字段大小写必须完全一致
1.2、dm无论大小写都会转成大写,除非带上双引号

# 2. 查看是否区分大小写(1:区分,0不区分)
SELECT CASE_SENSITIVE();

# 3. 查询视图和表信息
SELECT * FROM DBA_TABLES where TABLE_NAME = 'table'
SELECT * FROM USER_TAB_COMMENTS where TABLE_NAME like 'v_%'

# 4. 数据迁移(mysql->dm)
group_concat(distinct column_name)

wm_concat(column_name)
LISTAGG(column_nameD, ',') WITHIN GROUP (ORDER BY column_name) AS alias_name,



postgresql
# 1. 查看正在使用的连接数
select count(*) from pg_catalog.pg_stat_activity ;

# 2. 查看剩余的连接数
select setting::int2 -(select count(*) from pg_catalog.pg_stat_activity) from pg_catalog.pg_settings where "name" ='max_connections';

# 修改密码
ALTER USER postgres WITH PASSWORD '123456';



mysql
# 1. 查看是否有分区
select
table_name,
partition_name part,  
partition_expression expr,  
partition_description desc,  
table_rows  
from information_schema.partitions  
where table_schema = schema()  
and table_name='table_name' and partition_name = 'partition_name';  

# 2. 给某张表添加分区
ALTER TABLE table_name ADD PARTITION( PARTITION partition_name VALUES IN ('partition_name ') )



kafka
# 1. 向topic打数据命令
./kafka-console-producer.sh --broker-list localhost:9092 --topic test

# 2. 消费topic数据命令
./kafka-console-consumer.sh --bootstrap-server locahost:9092 --topic test --from-beginning

# 3. 查看topic数据量 (各分区数据量之和)
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic offline_data --time -1

如果有删除数据的话,删除当前-2查询的数据即可获取真实数量
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic offline_data --time -2

# 4. 查看kafka所有topic名称
./kafka-topics.sh --list --zookeeper localhost:2181

# 5. 创建topic
./kafka-topics.sh --create --zookeeper localhost:2181 --topic test_config_ty --replication-factor 1 --partitions 3 

# 6. 查看kafka-topic数量
./kafka-run-class.sh  kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic xxx

# 7. 查看kafka状态是否正常(如果无输出则正常)
./kafka-topics.sh --zookeeper  localhost:2181 --describe --under-replicated-partitions

# 8.删除kafka-topic
./kafka-topics.sh --delete --topic  xxx  --zookeeper localhost:2181

# 9. 查看kafka集群机器台数
cat kafka/config/server.properties | grep bootstrap.servers



es
# 1. 查看指定条件的数据
curl -i -X GET -H "Content-Type: application/json" -d '{"query":{
    "bool":{
        "must":[{
            "match":{
                "alert_src":0
            }
        }]
    }
}}' http://localhost:9200/analysis-2021.12.13/_search

# 2. 删除索引 (先查看,后删除)
curl http://127.0.0.1:9200/_cat/indices |grep sirius
curl -XDELETE http://127.0.0.1:9200/analysis-2021.12.31

# 3. 创建索引
curl -XPUT 'http://127.0.0.1:9200/situation_sirius'

# 4. 查看所有索引
http://192.168.1.2:9200/_cat/indices/*?v

# 5. 查看具体某一个索引
http://192.168.1.2:9200/_cat/indices/index-name_*?v

# 6. 查看具体某一个索引详细信息
http://192.168.1.2:9200/index-name-20220207/_search?pretty



pg
# 1. 命令行登录pg
psql -U postgres -h 192.168.10.4 -d sdk -p 15432

# 2. 命令行执行pg脚本
psql -d sdk -h 192.168.10.4 -p 5432 -U postgres -f /home/sql/test.sql

# 3. 命令行导出pg脚本
pg_dump --host 192.168.10.4 --port 5432 --username postgres  -t table_name -f ./test.sql db_name

# 4. 复制表结构和数据并创建一张新表
select * into newTable  from Table;

# 5. 备份数据库下所有表和序列
pg_dump  -h 127.0.0.1 -U postgres -p 5432 -d db_name > bak.sql

# 6. 复制表
create table table_20230726 as select * from table;

# 7. 写入表
insert into table_20230726 select * from table;



linux(PID以5779为例)
# 1. 防火墙加白名单
iptables -t filter -I INPUT -s 10.43.84.102 -j ACCEPT

# 2. 防火墙可透传的端口
iptables -I INPUT -p tcp --dport 9090 -j ACCEPT

# 3. 查看进程执行目录
lsof -p 5779 | grep cwd

# 4. 查看jvm运行配置
jinfo 5779

# 5. 查看jvm gc次数
jstat -gcutil 5779

# 6. 查看jvm堆信息
jhsdb jmap --heap --pid 5779
jmap -heap 5779

# 7. 发现window上传linux文件编码有改变
命令模式输入 :set ff=unix

# 8. 释放buffer/cache
sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches

# 9. 查看linux镜像版本
cat /etc/redhat-release

# 10. 查看linux系统信息
cat hostnamectl




k8s操作
# 1. 查看pod状态
kubectl get pod -n dev

# 2. 查看pod详细情况
kubectl describe pod 实例名称 -n dev

# 3. 查看pod日志
kubectl logs -f  实例名称 -n dev
kubectl logs -f  --tail 2 实例名称 -n dev

# 4. 进入pod中
kubectl exec -it pod-name-dd5y45yf-dada -- /bin/bash

# 5. 查询pod对应ip
kubelct get pods -o wide | grep 实例名称
kubectl get svc -n dev | grep 实例名称
kubectl get service -n dev | grep 实例名称

# 6. 删除pod
kubectl delete pod pod名称

# 7. 获取镜像名称(查看状态错误的pod原因)
kubectl describe pod -n dev| grep 镜像名称

# 8. 将镜像生成镜像文件
docker save -o xxx.tar 镜像名称

# 9. 查看很早之前pod的日志信息(今天00:00分之后的pod日志)
kubectl logs -f -n default 镜像名称 --since-time="2023-01-10T16:00:00+00:00" > log.txt

# 10. 暂停pod执行
kubectl scale --replicas=0 deployment/镜像名称

# 11. 从宿主机复制到k8s容器中
kubectl cp 需要拷贝的文件名 -n namespace  容器名称:需要拷贝到的容器内路径

# 12. 外放端口
nohup kubectl port-forward service/powerjob-server 7700:8080  --address 192.168.198.2 &

# 13. 查看镜像支持架构
docker inspect 镜像id




clickhouse操作
# 1. 删除数据库
drop database IF EXISTS base_db

# 1.1. 查看数据库引擎
SHOW CREATE DATABASE binlog_test;

# 2. 将某表数据插入到另外一张表
insert into bigData.hits_v1 select * from bigData.hits_v1 limit 20000000;

# 3. 复制表结构
create table bigData.hits_v2 as bigData.hits_v1;

# 3.1 修改表名
rename table db.table_name to db.table_new_name

# 4. 删除表数据(含删除分布式表数据)
ALTER TABLE db.table DELETE where 1=1;
alter table db.table_local on CLUSTER 集群名称 DELETE where 1=1

# 4.1 删除表
DROP TABLE IF EXISTS table_name

# 4.2 通过查询结果创建表
CREATE TABLE calc_main_score_org_sgy ENGINE = MergeTree order by MAINNAME AS SELECT * FROM TABLE

# 5. 修改表数据
alter table vul_scan_now_local UPDATE  c_time = now() where 1=1

# 5.1 增加/修改表/列注释
修改表注释:ALTER TABLE table_name MODIFY COMMENT '规则表';
修改列注释:ALTER TABLE table_name MODIFY COLUMN column_name COMMENT '规则名称';

# 6. 修改排序键
ALTER TABLE model.station_url  MODIFY ORDER BY (first_datetime,last_datetime)

# 7. 修改字段名称
ALTER TABLE db_name.table_name RENAME COLUMN regionId to region;

# 7.1. 修改字段的值
ALTER table db_name.table_name on CLUSTER admin update info = '1' where xxx

# 8. 修改字段类型
ALTER TABLE db_name.table_name MODIFY COLUMN endTimestamp Int64;

# 9. 添加字段
ALTER TABEL db_name.table_name ADD COLUMN `$user_id` Nullable(String);
ALTER TABLE table_name ADD COLUMN IF NOT EXISTS `IS_ORG` String DEFAULT '0' COMMENT '是否是组织' AFTER `IS_ACROSS`;  

# 10. 删除字段
ALTER TABEL db_name.table_name DROP COLUMN `$user_id`;

# 10.1. 创建用户并授权
CREATE USER IF NOT EXISTS user_name IDENTIFIED WITH plaintext_password BY '123456';
grant all on db_name.* to user_name with grant option;


# 11. 进入ck命令行
clickhouse-client -h 127.0.0.1 -user admin --password xxx --port 8123 -m

# 11. 常用函数文章
https://blog.csdn.net/weixin_39992480/article/details/108589249

# 12. shell语句中执行SQL语句
./clickhouse-client -m -n -h 127.0.0.1 --port 29010  -u admin --password password --query "select * from table;select * from table;"

# 13. shell中执行SQL文件
./clickhouse-client --port 9000 --user admin --password password -d model --multiquery < scripts.sql

# 13.1. 数据库备份
-- 备份数据
./clickhouse-backup create main_jxxt_test -t main_jxxt_test.*  -c config.yml
-- 查看备份数据
./clickhouse-backup list -c config.yml
-- 删除备份
./clickhouse-backup  delete local main_jxxt_test -c config.yml
-- 恢复备份
./clickhouse-backup restore main_jxxt_test  -c config.yml

# 14. 导入导出clickhouse数据(sql格式)
-- 导出数据
echo 'select * from db.table' | curl 127.0.0.1:8123?database=db -uusername:password -d @- > table.sql
-- 导入数据
cat table.sql | ./clickhouse-client -h127.0.0.1 --port=9000 -uusername --password password --query="INSERT INTO db.table FORMAT TabSeparated"

# 15. 导入导出clickhouse数据(tsv格式)
导出tcv
time clickhouse-client -uusername --password=password --query="select * from  db.table" > table.tsv

导入tsv
time clickhouse-client -uusername --password=password  --query "INSERT INTO db.table FORMAT TSV" --max_insert_block_size=100000 < table.tsv

# 16. 导入导出clickhouse数据(csv格式)
-- 数据导出csv
./clickhouse-client -u default --password=password -h localhost -d db  --port 9000 --query="select a,b,c from db.table FORMAT CSV" > table.csv
-- 数据导入csv
./clickhouse-client -u default -h localhost -d db --password=password --port 9000 --query="insert into db.table (a,b,c)  FORMAT CSV" < table.csv

# 17. 查询clickhouse执行计划
 select query_start_time, query_duration_ms,read_rows,memory_usage,query,exception,initial_address 
from system.query_log  where query like '%select%' order by event_time desc limit 10 FORMAT Vertical;

# 18. 常用函数及用法
https://blog.51cto.com/u_15236724/5364711

# 19. 官方join讲解
https://clickhouse.com/blog/clickhouse-fully-supports-joins

# 20. 查看表大小排行
SELECT
    table,
    sum(rows) AS rows,
    max(modification_time) AS latest_modification,
    formatReadableSize(sum(bytes)) AS data_size,
    formatReadableSize(sum(primary_key_bytes_in_memory)) AS primary_keys_size,
    any(engine) AS engine,
    sum(bytes) AS bytes_size
FROM clusterAllReplicas(default, system.parts)
WHERE active
GROUP BY
    database,
    table
ORDER BY bytes_size DESC

# 21. clickhouse异常总结
https://clickhouse.com/blog/common-getting-started-issues-with-clickhouse

# 22. clickhouse性能优化
https://clickhouse.com/blog/clickhouse-faster-queries-with-projections-and-primary-indexes

# 23. 批量插入随机数据
INSERT INTO db.table
(id ,time ,name )
select * from generateRandom(
'
	id Int32,time DateTime,name String
'
) limit 100

# 24. 删除分布式表
drop table IF EXISTS db.table ON CLUSTER 集群名称;

# 25. 删除本地表
drop table IF EXISTS db.table_local ON CLUSTER 集群名称;

# 26. 定位查询过多的节点和查询数量
select hostname() host,tcpPort() port,count() cnt,countIf(elapsed>300) slow ,countIf(query ilike '%select%') select,countIf(query not ilike '%select%') insert from system.processes_all SETTINGS distributed_group_by_no_merge = 1
// slow      执行超过5min中的sql数量
// select    正在执行的select query的数量
// insert    正在执行的非select query的数量

# 27. 分析SQL过慢还是过多
(times和times_min较大则过多,duration过大则过慢)
select databases,tables,count() times,avg(query_duration_ms/1000) as duration ,
avg(read_rows) rows_read,formatReadableSize(avg(read_bytes)) bytes_read,times/10 times_min,
sum(read_rows)/10 rows_min,sum(read_bytes)/10 bytes_min,
sum(read_rows) / sum(query_duration_ms / 1000) AS eps,
formatReadableSize(sum(read_bytes) / sum(query_duration_ms / 1000)) bps,
sum(query_duration_ms / 1000) AS read_duration ,avg(read_bytes)/avg(read_rows) as line_size 
from system.query_log where type='QueryFinish' 
and query not like 'INSERT%' and event_time>(now()-600) 
group by databases,tables order by duration;

# 28. 查看异步队列任务
select hostname(),tcpPort(),table,type,count() 
from system.replication_queue
group by table,type order by type  
SETTINGS distributed_group_by_no_merge = 1

# 29. 如果MUTATE_PART 类型任务存在,需要单独分析
select * from system.replication_queue where type='MUTATE_PART'

# 30. kill命令清除mutation任务
-- Cancel and remove all mutations of the single table:
KILL MUTATION WHERE database = 'default' AND table = 'table'
 
-- Cancel the specific mutation:
KILL MUTATION WHERE database = 'default' AND table = 'table' AND mutation_id = 'mutation_1'

# 31. 分析insert过多
select elapsed,thread_ids,query 
from system.processes 
where elapsed>300 and query like 'INSERT%' 
order by elapsed desc  



java
# 1. 抽象类和接口
抽象类定义了你是什么,接口规定了你能做什么。
抽象类是为了代码的复用,接口是为了实现多态性。

# 2. CountDownLatch和CyclicBarrier
CountDownLatch:考试中,一个学生做完就可以走了,不用等其他人
CyclicBarrier:玩游戏,一个玩家加载完后,得等其他玩家都加载好后才进入

# 3. CompletableFuture
异步编程和链式操作:一共有三个执行任务,其中一个执行完,就返回结果

# 4. maven打包
mvn clean install -DskipTests -Drat.skip=true -Dmaven.test.skip=true

# 5. 把jar包打到本地仓库
mvn install:install-file -Dfile=D:flink-connector-kafka-1.16-SNAPSHOT.jar -DgroupId=com.data.analysis -DartifactId=flink-connector-kafka -Dversion=1.0.0 -Dpackaging=jar

# 6. json格式化
https://www.sojson.com/

# 7. 百度翻译
https://fanyi.baidu.com/

# 8. 时间戳转换
https://tool.lu/timestamp/

# 9. cron表达式
https://www.bejson.com/othertools/cron/

# 10. sql压缩
https://www.wetools.com/sql-minify




# 未解决问题
1、若依1.0通过jumpserver连接mysql8,批量操作报错,但是直连mysql8没问题

2、clickhouse中没有类似mysql的函数变量声明

3、dm数据库无法修改视图名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值