自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (12)
  • 收藏
  • 关注

原创 使用shell脚本分批删除mysql大表数据(一主三从)---优化版本

最近在工作中遇到了一个需求,需要对一个8亿数据量的大表使用pt工具修改表结构,因为在业务侧这个确实也没有用到这个表这么久的数据,所以顺便优化一下大表,想的是只保留7天数据即可,所以这里使用shell脚本来进行对表删除数据,这个mysql的架构是一主三从,所以删除的时候要考虑到主从同步延迟问题。PS:删除的时候一定要注意观察CPU利用率和主从同步延迟问题。

2022-09-24 21:55:29 670

原创 常用的 Linux 服务器性能查看命令有哪些

可以通过执行 ps auxww|grep PID,ps -ef,lsof -p PID,top -p PID 命令进行查看。可以通过执行 w,top,uptime,procinfo 命令,或者访问 /proc/loadavg 文件进行查看。可以通过执行 netstat -tunlp,netstat -antup,lsof -i:PORT 命令进行查看。(1)linux常用操作及命令。

2022-09-24 11:14:37 897

原创 使用shell脚本分批删除mysql大表数据(一主三从)

最近在工作中遇到了一个需求,需要对一个8亿数据量的大表使用pt工具修改表结构,因为在业务侧这个确实也没有用到这个表这么久的数据,所以顺便优化一下大表,想的是只保留7天数据即可,所以这里使用shell脚本来进行对表删除数据,这个mysql的架构是一主三从,所以删除的时候要考虑到主从同步延迟问题。PS:删除的时候一定要注意观察CPU利用率和主从同步延迟问题。

2022-09-20 23:37:09 818

原创 Linux中sed 和<<EOF的用法

sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。可以看到,sed命令会对每一行文本都进行处理!

2022-09-19 22:05:35 662

原创 腾讯云产品---mysql 逻辑备份大表以及手动恢复表数据实战

说明:为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具)进行压缩与打包。

2022-09-15 23:00:00 794

原创 MYSQL8 pt-online-schema-change在线修改大表结构--附带Shell脚本实战

pt-online-schema-change是percona公司开发的一个工具,在percona-toolkit包里面可以找到这个功能,它可以在线修改表结构原理首先它会新建一张一模一样的表,表名一般是_new后缀然后在这个新表执行更改字段操作然后在原表上加三个触发器,DELETE/UPDATE/INSERT,将原表中要执行的语句也在新表中执行最后将原表的数据拷贝到新表中,然后替换掉原表表数据量 6400w ,变更时长:1h23m, 锁表时间4分钟,大家一定要注意主从同步的延迟时间!!!文档。

2022-09-14 14:14:59 1045

原创 Shell脚本批量kill MYSQL大于1000秒语句

每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程。在平时工作中,经常会出现运行时间长的sql。下面就用shell脚本实现批量kill。

2022-09-09 19:10:48 513

原创 使用 CURL 的“--resolve“选项将请求固定到 IP 地址

此选项指定的值(可以在单个命令中多次调用,以将多个域/端口组合路由到各种 IP 地址)将应用于初始请求,以及 CURL 在命令过程中遵循的任何重定向。这种将 Web 请求直接“固定”到服务器的做法可以通过 更改您的 /etc/hosts 文件来完成,这将导致对指定域名(例如:“ www.example.com ”)的请求从您的本地计算机到指定的 IP 地址(例如:127.0.0.1),直到您对 /etc/hosts 所做的更改被还原。

2022-09-07 19:25:44 8847 2

原创 MAC UltraEdit18.00.0.40 绿色版,亲测有效

下载后dmg打开密码: blog.pangao.vip。

2022-09-06 19:45:33 1331 1

原创 nginx日志报错 443 failed (101: Network is unreachable) while connecting to upstream

为了能看到IPv6在你的Linux中是否被激活,可以使用ifconfig或ip命令。如果你在输入这些命令之后看到"inet6"字样的输出,那就意味着你的Linux系统启用了IPv6。1.3.1之后支持IPV6,且默认同时开启了IPV4和IPV6,所以,这里需要关闭IPV6才能避免连接到IPV6。具体resolver配置类似如下。今天遇到一个nginx日志报错,定位到原因是nginx做代理的时候转发解析的是ipv6,想要解决的话,有几种方法,如下所示。第二种,系统层面禁用ipv6,大家可以参考以下文章。...

2022-08-29 20:54:55 6276

原创 nginx1.14.1添加ssl证书实操

因为我已经通过DNSPOD.CN购买了腾讯云的域名,免费领取一个ssl证书(DV)1、已经备案的域名(liudada1.cn)将http重定向https。2、搭建有nginx的服务器。

2022-07-15 16:17:15 835 1

转载 腾讯云产品文档----负载均衡

负载均衡(Cloud Load Balancer,CLB)是对多台云服务器进行流量分发的服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。负载均衡服务通过设置虚拟服务地址(VIP),将位于同一地域的多台云服务器资源虚拟成一个高性能、高可用的应用服务池。根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。负载均衡服务会检查云服务器池中云服务器实例的健康状态,自动隔离异常状态的实例,从而解决了云服务器的单点问题,同时提高了应用的整体服务能力。腾讯云提供的负

2022-07-11 10:54:57 842

原创 新增一块新磁盘后,扩充逻辑卷lv大小

二、检查当前的逻辑卷、卷组、物理卷容量和lv文件系统类型从上面可以看到卷组大小不够,PV也不够,此处需要自行添加PV,扩展逻辑卷组(如果/dev/sda磁盘大小充足,就不要去其它磁盘上新建分区来作为PV,并且尽量需要多大容量就给接近的容量,不要一次性分配过大)。挂载点:三、创建新的PV,并扩展卷组、逻辑卷以及针对XFS文件系统扩容成功后如下图所示:注意:此处扩展文件系统可以用上述命令一次性搞定,也可以采用传统方法,如果是XFS,先lvextend -L 40GiB /dev/rhel/root,

2022-07-05 07:49:51 566

原创 探索MySQL not in到底走索引吗?

探索MySQL not in到底走索引吗?实战总结

2022-06-04 12:26:58 6219

原创 MySQL在存储过程中使用while批量插入数据(批量提交和单个提交的性能差异)

MySQL在存储过程中使用while批量插入数据(批量提交和单个提交的性能差异)

2022-06-02 18:09:59 647

原创 Shell脚本批量对157台服务器打通网络、配置免密、重置root密码

一、背景机房搬迁项目,需要把157台服务器搬迁到新的机房(Hadoop集群),因为项目比较紧急,客户着急使用,我负责的是对157服务器做系统层面的配置,直到交付给重庆移动的4A部门。记录一下在此期间使用的脚本,以及当时的思路。二、思路1、操作系统:因为原有服务器的系统大部分都是redhat7.4,所以系统的话,只需要对个别服务器进行重装。2、网络配置:网络配置的话,分为管理IP地址以及业务IP地址,因为已经重新规划了IP地址,所以每一台服务器都会做更改,在这里我想的是先把管理IP地址打通,这样的话,

2022-05-26 23:05:31 708

原创 redhat7 破解(重置)root密码

破解(重置)root密码重置系统root账户密码为thuctive,确保能够使用root登录。1.开机(或重启)出现grub菜单时按任意键终止启动过程,在内存中编辑GRUB加载的条目 ,使其在内核刚挂载所有文件系统后,但在将控制权移交给systemd前终止启动过程。2.按e键编辑GRUB当前条目,找到Linux这一行,按End键到行尾,将rd.break附加到行尾,然后按Ctrl+x引导系统,若存在下图中被黄色框选中的内容,请务必删除掉。3.重置root密码①mount -o remoun

2022-05-26 22:48:58 2387

原创 lftp上传文件以及使用pipe把文件入库到redis

环境:两台云服务器,124.221.164.83是redis服务端,113.31.104.71是客户端,这里我做了防火墙策略,所以不用担心云服务器端口暴露被黑的问题。思路:刚开始想的是把文件上传到对端服务器然后再执行入库命令,但是其实没有必要这样,其实直接在本地也可以用命令入库到对端redis,只需要端口通了即可。配置防火墙策略,指定ip访问redis:iptables -I INPUT -s 113.31.104.71 -p tcp --dport=6379 -j ACCEPTiptables -

2022-05-20 00:20:39 417

原创 MySQL8 RC和RR隔离级别的实战演练

MySQL8 RC和RR隔离级别的实战演练

2022-04-23 19:00:41 1207

原创 redhat7.2升级到redhat7.4

需求:应客户要求需要操作系统版本为redhat7.4,但是目前生产上面操作系统版本为redhat7.2,思路:如果重装系统的话,需要花费大量时间来做基线配置以及安全扫描,因为是小版本升级,所以直接采用的是挂载redhat7.4 yum源,直接升级所有软件和内核,具体操作如下所示:一、挂载本地yum源先把iso文件拷贝到 /opt/ 目录下1、vim /etc/yum.repos.d/rhel74.repo2、执行命令挂载mount -o loop /opt/RHEL74.iso /mnt二

2022-04-12 18:40:25 2447

原创 MySQL8.0 磁盘空间、数据目录、mysql系统数据库

一、MySQL 如何使用磁盘空间MySQL Server会通过几种方式使用其磁盘空间,主要的目录和文件都会放在一个称为”服务数据目录”(server’s data directory)的地方。MySQL会使用这个数据目录来存储二、数据目录磁盘空间的主要用途是数据目录。数据目录的位置是可配置的。– Linux 中的默认位置是 /var/lib/mysql。– 所有数据库的 InnoDB 重做日志文件和撤消表空间都位于数据目录级别。InnoDB 系统表空间包含双写缓冲区和更改缓冲区。每个数

2022-03-31 20:57:25 1637

原创 MySQL8.0连接协议以及3306、33060、33062端口作用

一、MySQL连接层:连接层为每个连接维护一个线程。该线程处理查询执行。 在连接可以开始发送 SQL 查询之前,连接由验证用户名、密码和客户端主机。 连接层通过多种连接协议接受来自应用程序的连接:TCP/IPUNIX 套接字共享内存命名管道如下图所示:二、连接协议:协议在客户端库和驱动程序中实现。连接协议的速度因本地设置而异。除了旧版 MySQL 经典协议之外,MySQL X 协议还引入了MySQL 5.7.12 并在 MySQL 8.0 中默认启用。MySQL 使用 TCP

2022-03-28 14:01:48 17350

原创 MySQL8安装多实例实战(mysqld_multi多实例管理工具)

MySQL8安装多实例实战(mysqld_multi多实例管理工具)

2022-03-27 17:27:18 1628

原创 Linux shell 脚本之shift 命令实战

位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。非常有用的 Unix 命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shell 在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在 $1 后为 $2,在 $2 后面为 $3 等。在 shi

2022-02-25 14:50:38 1367

原创 Linux Shell判断文件存在并且不为空

-a检查文件是否存在-b检查是否为块特殊文件[1]-c检查是否为字符特殊文件[2]-d检查是否为文件夹-e检查文件是否存在-f检查是否为常规文件[3]-g检查gid[4]是否被置位-G检查是否有相同的组ID-k检查防删除位是否被置位-L检查是否为符号链接[5]-n判断字符串长度是否不为0-O检查文件是否被当前进程的user ID拥有-p检查文件是否为FIFO[6]特殊文件或命名管道[7]-r...

2022-02-10 09:37:33 5337

转载 关于MySQL的lock wait timeout exceeded解决方案

一、关于MySQL出现lock wait timeout exceeded; try restarting transaction 的解决方案。我们可以通过到information_schema 中来进行查找被锁的语句。解释:information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在i

2021-12-21 09:14:31 9233

原创 脚本里面read和管道符(|)一起使用的解决方案

脚本里面read和管道符一起使用的解决方案

2021-12-13 18:56:16 812 1

原创 docker、mysql、redis、hive

由于容器里面没有配置ipv6,导致安装gbase的时候报错了。下面是配置ipv6的方法1、找到配置sysctl.conf 文件,路径在:/etc/sysctl.conf ,找到如下配置:添加:net.ipv6.conf.all.disable_ipv6=0net.ipv6.conf.default.disable_ipv6=0net.ipv6.conf.lo.disable_ipv6=02、找到 disable_ipv6.conf 文件,路径在: /etc/modprobe.d/disabl

2021-11-18 12:17:19 407

原创 Mapreduce和Hive中map reduce个数设定

Mapreduce中mapper个数的确定:Mapreduce中mapper个数的确定: 在map阶段读取数据前,FileInputFormat会将输入文件分割成split。split的个数决定了map的个数。 影响map个数,即split个数的因素主要有: 1)HDFS块的大小,即HDFS中dfs.block.size的值。如果有一个输入文件为1024m,当块为256m时,会被划分为4个split;当块为128m时,会被划分为8个split。文件的大小。当块为128m时,如果输入文件为128m,会被

2021-09-29 23:52:14 1273

原创 用Shell实现对所有进程所占内存大小进行排序(冒泡算法)

下面通过冒泡算法编写一个根据当前系统所有进程所占物理内存大小的排序脚本#!/bin/bashtmpfile="/tmp/procs_mem_$$.txt"ps --no-headers -eo comm,rss > $tmpfile#定义函数实现冒泡排序#使用i控制进行几轮的比较,使用j控制每轮比较的次数#使用变量len读取数组的个数,根据内存大小进程排序,并且调整对应的进程名称的顺序proc_order () {local i jlocal len=$1for ((

2021-08-03 08:52:35 617 1

原创 shell 实现冒泡排序算法

思路:冒泡排序不断地比较相邻两个数据的大小,根据大小进行排序(升序或者降序),如果顺序不对则彼此交换位置,以此类推,当所有数据比较完成后,肯定能找出一个最大值或者最小值。...

2021-07-29 10:26:05 777

原创 shell实现机选双色球

文章目录一、双色球规则二、shell脚本实现一、双色球规则双色球彩票投注分为红色球和蓝色球,每注投注号码由6个红色球号码和1个蓝色球号码组成,红色球号码从1~33中选择,蓝色球号码从1-16中选择,投注时不管是红色球还是蓝色球都不允许出现重复的号码。二、shell脚本实现#!/bin/bashred_ball="" #红球变量blue_ball="" #蓝球变量while :do clear echo "--------机选双色球--------" tmp=$[RANDOM

2021-07-20 23:57:21 775

原创 shell计算香蕉

#!/bin/bashcount=1for i in {1..8}do count=$[ ($count + 1) * 2 ]doneecho $count

2021-07-19 16:44:38 63

原创 使用shell脚本实现石头剪刀布对战小游戏

#!/bin/bash#功能描述:石头剪刀布游戏。#计算机根据生成的随机数出拳,并提示用户出拳。#将用户的输入与计算机产生的随机数进行比较,判断输赢。# 1.石头;2.剪刀;3.布computer=$[$RANDOM%3+1]clearecho "###################"echo "# 石头剪刀布游戏 #"echo -e "#\033[32m 请根据下列提示出拳: \033[0m#"echo "###################"echo "|--

2021-07-19 09:52:54 1203 5

原创 shell脚本实现查看主机telnet是否开启

脚本如下:[root@localhost ~]# #!/sbin/sh [root@localhost ~]# export LANG=C #解决乱码问题[root@localhost ~]# FTPSTATUS=`netstat -ant|grep -i "listen"|grep ":21\>"|wc -l`[root@localhost ~]# function Check_ftpusers() > { > if [ -f /etc/vsftpd.ftpusers ]&

2021-06-21 20:20:35 661

原创 RHEL8.3升级openssh8.6(shell脚本)

由于公司有漏洞要求,需要升级到openssh8.6,因为不止一台,所以这里用脚本的方式来实现。要是生产环境的话,升级前最好安装下telnet,确保telnet能够登陆。脚本如下所示:#!/bin/bash# 使用前提 : # 1. 配置好yum源# 2. 防止断连,开启telnet服务# 3. 上传最新版的软件包# #需要手动修改的变量version="ssh_8.6" #定义版本号soft_dir="opt" # 上传安装介质的目录ssh_media="openssh-8.6p

2021-06-19 18:14:57 727

原创 Redhat 8修改系统语言为英文

临时修改export LANG="en_US.UTF-8"不过这样一重新启动就没有,所以要加到/etc/profile里面,这样一开机就会运行这个变量了,也可以达到永久修改的效果:LANG="en_US.UTF-8"export LANG

2021-06-17 23:02:46 3923

原创 Redhat 8修改根目录的VG(vgrename)、LV(lvrename)名称,系统起不来的解决方法(亲测有效)

文章目录一、情况描述二、具体实现1.查看当前VG以及LV名称2.修改VG名称以及LV名称3.修改配置文件4.重启系统三、总结一、情况描述安装系统的时候用的是Redhat系统自带的VG名称以及LV名称,因为种种原因,现在需要修改根目录下的VG名称以及LV名称。系统:Redhat 8.3启动模式:efi二、具体实现1.查看当前VG以及LV名称[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTs

2021-06-06 23:57:58 3288 6

原创 shell脚本实现把文本数据导入Redis

今年公司注重实时相关的业务,但是平台Hive入Redis的功能还没上线,只能通过脚本实现把Hive里的数据定时导入Redis。前提:Hive表的数据已导出为竖线分割的文本格式。文本数据:Shell脚本如下:#!/bin/bashfunction Clean(){incre=0while read rowdo #echo "${row}"; for i in ${row} do telnum=$(echo "${i}" |awk -F "|" '{print $1}'

2021-05-10 20:52:42 867 2

原创 Windows无法访问虚拟机的Apache(httpd)服务,但是可以ping通

背景:Windows可以ping通虚拟机的IP,并且可以用CRT登录连接。但是访问不了httpd。虚拟机地址:192.168.233.101Windows地址:192.168.233.1首先确认防火墙和selinux都已经关闭:什么是iptables? 1、IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统 2、如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器 3、则该系统有利于在 Linux 系统上更好地控制 I

2021-04-27 00:12:29 2037

U18下载安装U18下载安装U18下载安装

U18下载安装U18下载安装U18下载安装U18下载安装U18下载安装U18下载安装U18下载安装U18下载安装U18下载安装U18下载安装

2022-11-03

mysqld_multi

mysql多实例管理工具

2022-03-27

openssh-8.4p1.tar.gz

openssh-8.4p1.tar.gz

2021-04-12

openssl-1.1.0h.tar.gz

openssl-1.1.0h.tar.gz

2021-04-12

6-GBase 8a MPP Cluster 数据导出.pdf

6-GBase 8a MPP Cluster 数据导出.pdf6-GBase 8a MPP Cluster 数据导出.pdf6-GBase 8a MPP Cluster 数据导出.pdf6-GBase 8a MPP Cluster 数据导出.pdf6-GBase 8a MPP Cluster 数据导出.pdf

2020-09-24

5-GBase 8a MPP Cluster 数据加载.pdf

5-GBase 8a MPP Cluster 数据加载.pdf5-GBase 8a MPP Cluster 数据加载.pdf5-GBase 8a MPP Cluster 数据加载.pdf5-GBase 8a MPP Cluster 数据加载.pdf5-GBase 8a MPP Cluster 数据加载.pdf

2020-09-24

4-GBase 8a MPP Cluster SQL指南.pdf

4-GBase 8a MPP Cluster SQL指南.pdf4-GBase 8a MPP Cluster SQL指南.pdf4-GBase 8a MPP Cluster SQL指南.pdf4-GBase 8a MPP Cluster SQL指南.pdf4-GBase 8a MPP Cluster SQL指南.pdf

2020-09-24

3-GBase 8a MPP Cluster 日常维护.pdf

3-GBase 8a MPP Cluster 日常维护.pdf3-GBase 8a MPP Cluster 日常维护.pdf3-GBase 8a MPP Cluster 日常维护.pdf3-GBase 8a MPP Cluster 日常维护.pdf

2020-09-24

2-GBase 8a MPP Cluster 安装部署.pdf

2-GBase 8a MPP Cluster 安装部署.pdf2-GBase 8a MPP Cluster 安装部署.pdf2-GBase 8a MPP Cluster 安装部署.pdf2-GBase 8a MPP Cluster 安装部署.pdf

2020-09-24

GBaseDataStudio.app.zip

Gbase 8a MAC客户端

2020-09-23

GBase8a_MPP_Cluster-NoLicense-FREE-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2

国产数据库Gbase 8a集群安装包,GBase8a_MPP_Cluster-NoLicense-FREE-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2

2020-05-12

空空如也

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

TA关注的人

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