csworkman

个人博客

mysql-单行函数

2021-8-23 Mr Chang 数据库

IS NULL :仅可以判断NULL值。可读性较高,建议使用

<=> : 既可以判断NULL值,又可以判断普通的数值,可读性较低

like '%%' : 该模糊查询 查询的是某一列的值不等于null的所有值

mysql的常见函数:

1.单行函数

~字符函数:
    length()  计算某个字符串的长度
    concat()  拼接字符串
    UPPER()  改成大写字符串
    LOWWER() 改成小写字符串
    substr() 截取字符串 注意:mysql索引从1开始
    instr('痒不痒不痒不痒不痒不','痒不') 返回子串第一次出现的索引,如果找不到返回0
    trim()  去除字符串的空格  特殊用法可以使用 trim( 'a' from 'aaaaaaa123123aaaaaaaaa') 可以去除字符串前后指定的字符串
    lpad('123',10,0)  用指定的字符实现左填充指定长度
    rpad('123',10,0)  用指定的字符实现右填充指定长度
    replace() 替换字符串

~数学函数
     round() 四舍五入 select round(-1.55);
     ceil() 向上取整
     floor 向下取整 返回<=该参数的最大整数值
    SELECT FLOOR(-9.99);
    truncate 截断
    SELECT truncate(1.699999,1); --返回1.6
    mod 取余数
    mod(a,b) : a-a/b*bSELECT MOD(10,3);

~日期函数
    NOW() 当前时间
    CURDTAE() 返回当前系统日期
    CURTIME() 返回当前时间
    YEAR() 年  MONTH() 
    str_to_date 字符串转时间
    date_format  日期转换
~其他函数
    VERSION() 
    DATEBASE()。查询当前数据库
    USER() 查询当前用户
~流程控制函数
#if 函数 else 函数

SELECT IF(10<5,'大','小');


#case 函数的使用 :switch case 的效果

/**
case  要判断的字段或表达式
when  常量1 then 要显示的值1或语句1;
when  常量2 then 要显示的值2或语句2;
...
else 要显示的值或语句
then ...
*/

评论(0) 浏览(893)

服务器添加用户组和用户并授权sudo权限

2021-6-2 Mr Chang 服务器

id      www-data //查看当前用户的信息
groupadd  www-data 添加用户组

useradd  -g www-data -s /www/wwwroot www-data

评论(0) 浏览(823)

用kubeadm搭建kubernets集群方式(2)

2021-5-17 Mr Chang KUBERNETES

初始化K8s (master节点)
kubeadm init --kubernetes-version=1.18.0  \
--apiserver-advertise-address=123.60.223.3  \
--image-repository registry.aliyuncs.com/google_containers  \
--service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16

apiserver-advertise-address : 提供api服务的IP地址

--image-repository :镜像拉取地址。由于k8s 国内无法访问 这里指定阿里云镜像仓库地址

--service-cidr



kubeadm reset 重新配置


kubeadm join 192.168.0.131:6443 --token d15j3p.d3zkgbpbdw150gpc \
    --discovery-token-ca-cert-hash sha256:2a4975863af0aa4c8944c2828e73c2529ec8cd5fdb89c0c546b9085729bc3448 

评论(0) 浏览(882)

用kubeadm搭建kubernets集群方式(1)

2021-5-14 Mr Chang KUBERNETES

1 2GB或更多RAM 2个CPU或更多CPU  硬盘30GB或更多
2 集群中所有机器之间网络互通
3 可以访问外网,需要拉取镜像

使用kubeadm 方式搭建

(1) 关闭防火墙
systemctl stop firewalld   -- 临时关闭防火墙

systemctl disable firewalld -- 永久关闭防火墙

(2) 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config --永久关闭
setenforce = 0 -- 临时关闭

(3) 关闭swap 分区管理强制关闭分区
swapoff -a --临时关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab -- 永久关闭
(4) 根据规划设置主机名称
hostnamectl set-hostname <hostname>
(5)在master 添加hosts
cat >> /etc/hosts  << EOF
192.168.44.141 master
192.168.44.142 node1
192.168.44.143 node2
EOF
(6)将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system #系统生效
(7) 安装docker 
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
将docker 镜像云换到阿里云上面

 cat >  /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://fl791z1h.mirror.aliyuncs.com"]
}
EOF
重启加载docker的 配置 daemon
systemctl daemon
-reload
重启docker
systemctl restart docker



yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

评论(0) 浏览(885)

搭建master集群

2021-5-14 Mr Chang KUBERNETES

单master集群
    
  缺点 master挂掉 整个集群将会挂掉 可用性不强 适合一般小型项目和业务比较简单

多master集群

   截屏2021-05-14 上午10.14.59.png


2 硬件要求
  测试环境
  master 2核 4g 20G
  node   4核 8G  40G
  生产环境 
  master 更高要求
3 搭建集群的方式
  (1) kudeadm
   (2)二进制包

 
 

评论(0) 浏览(818)

k8s功能和架构组件

2021-5-14 Mr Chang KUBERNETES

k8s 集群架构组件

(1)master 组件 
*api-server  集群统一入口,以restful方式风格请求进入到各种server 交给etcd存储

*scheduler 节点调度,他会选择一个节点 进行应用部署

*controller-manager
 处理集群中常规后台任务,一个资源对应一个控制器

*etcd 存储系统,用于保存集群相关的数据

(2)node组件
    *kubelet master排到node节点代表,管理本机容器
    
    *kubeproxy 提供网络代理,负载均衡操作。

评论(0) 浏览(823)

kubernetes概述和特性

2021-5-14 Mr Chang KUBERNETES

1.K8s概述和特性 
  (1)K是谷歌在2014念开业的容器化集群管理系统
  (2)使用K进行容器化应用部署
  (3)使用k让部署容器化应用更加高效和简洁
    k的特性
   (1)自动装箱

   (2)自我修复
       当容器失败时,会对容器进行重启
       当所部署的Node节点有问题时,会对容器进行重新部署和重新调度
       当容器未通过监控检查时,会关闭此容器知道容器正常运行时,才会对外提供服务
  (3)服务发现 
      用户不需要使用额外的服务发现机制,就能够基于K自身能力实现服务发现和负载均衡
  (4)滚动更新
      可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更行。
   
(5)版本回退
        可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
  (6)密钥和配置管理
        在不需要构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署
  (7)存储编排
        自动实现
   (8)批量处理

评论(0) 浏览(701)

防火墙如何添加端口

2021-5-11 Mr Chang 服务器

如何给防火墙添加端口
iptables -A INPUT -p tcp -m tcp --dport 9501  -j ACCEPT
-A:指定链名,-A和-I 其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部  
-p:  指定协议类型
-d:指定目标地址
--dport:指定目标端口
--sport:指定源端口

-j 指定动作

service iptables save  保存防火墙

systemctl restart iptables.service

评论(0) 浏览(1046)

docker + hyperf +consul 搭建微服务

2021-5-11 Mr Chang 服务器

一 . 先安装docker容器
     我使用的官方安装脚本 
     curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
     docker -v 查看当前脚本

二. 利用docker 安装hyperf
      docker search 列出hyperf镜像
      docker pull  拉取最需要的镜像
      docker run -v $PWD/:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf
      进入容器以后找到 hyperf/hyperf目录
      安装composer
       wget https://mirrors.aliyun.com/composer/composer.phar
       修改composer.phar 的权限为777
       移动composer.phar 到 /usr/local/bin/composer
        修改root密码 passwd root


评论(0) 浏览(900)

git操作指令

2021-5-6 Mr Chang 服务器

git branch 查看版本号

评论(0) 浏览(926)