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)
2021-6-2 Mr Chang
服务器
id www-data //查看当前用户的信息
groupadd www-data 添加用户组
useradd -g www-data -s /www/wwwroot www-data
评论(0)
浏览(823)
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)
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)
2021-5-14 Mr Chang
KUBERNETES
单master集群

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

2 硬件要求
测试环境
master 2核 4g 20G
node 4核 8G 40G
生产环境
master 更高要求
3 搭建集群的方式
(1) kudeadm
(2)二进制包
评论(0)
浏览(818)
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)
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)
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)
2021-5-6 Mr Chang
服务器
git branch 查看版本号
评论(0)
浏览(926)