MySQL生产级全备+增备备份脚本

脚本内容如下:Xtrabackup.sh #!/bin/bash ##备份策略: ##周日(7): 全备 ##周一 ~ 周六(1-6): 增量备份 source /etc/profile ulimit -HSn 102400 ## ##========== global var ============ ## #如果一台服务器上有多个MySQL,可以使用 BAK_DIR_ROOT进行备份路径的区别 #可增加端口作为区分,例如 /opt/backup/mysqk/3306 BAK_DIR_ROOT="/data/mysql_backup" #默认周日进行全备 (1 - 7), 1 是周一,7是周日 FULL_BAK_DAY_OF_WEEK=7 #备份文件保留周期,默认保留35天 (4-5周) HOLD_DAYS=35 MYSQL_USERNAME="root" MYSQL_PASSWORD="root" MYSQL_HOST="10.0.0.1" MYSQL_CNF="/etc/my.cnf" MYSQL_MULTI_GROUP="--socket=/data/mysql/mysql.sock" #如果使用多实例,比如通过ecloud的方式下发安装,默认使用多实例 #MYSQL_MULTI_GROUP="--defaults-group=mysqld3307 --socket=/tmp/mysql3307.sock" CURRENT_WEEK_OF_YEAR=$(date +%U) CURRENT_DAY_OF_WEEK=$(date +%u) CURRENT_DATE=$(date +%F) CURRENT_TIME=$(date +%H-%M-%S) CURRENT_DATETIME="${CURRENT_DATE}_${CURRENT_TIME}" BAK_WEEK_DIR="${BAK_DIR_ROOT}/WEEK_${CURRENT_WEEK_OF_YEAR}" BAK_FULL_DIR="${BAK_WEEK_DIR}/FULL" BAK_LOG="${BAK_WEEK_DIR}/backup.log" ## ##========== function ============= ## function clean_backup() { find ${BAK_DIR_ROOT} -mtime +${HOLD_DAYS} -prune -exec rm -rf {} \; } function write_start_log() { if [[ !...

2022-04-13 · 2 分钟

RocketMQ Console安装及配置

1、RocketMQ-Console介绍 RocketMQ-Console现在已更名为Rocketmq-Dashboard,为了方便,下面还是使用RocketMQ-Console Git地址: https://github.com/apache/rocketmq-dashboard 包含了多个功能:运维、驾驶舱、集群、主题、消费者、生产者、消息、消息轨迹、connector 等 2、环境信息 服务器 服务器 操作系统 硬件配置 版本 说明 Linux CentOS 7 4C16G 64位 生产环境建议Linux/Unix 软件 工具/环境 版本 说明 JDK 1.8 RocketMQ Console要求版本在1.7以上 Git 1.8.3.1 源码方式安装需要,版本无要求 Maven 3.6.3 源码方式安装需求,版本无要求 3、安装 安装RocketMQ-Console,可以通过两种方式: 通过Docker镜像安装; 通过GitHub拉取源代码,进行编译,然后启动安装; 具体如下: 通过Docker方式 # 拉取镜像 # 还可以自己通过源码的方式打包镜像,需要有镜像仓库。打镜像命令:mvn clean package -Dmaven....

2022-04-13 · 1 分钟

Microsoft SQL Server 2008 R2安装

下载Microsoft SQL Server 2008 R2,打开安装文件夹,以管理员身份运行setup.exe。(百度网盘链接: https://pan.baidu.com/s/11b_YAsNm-zO_BDbX8QnpSA?pwd=arxn 提取码: arxn ) 1、安装 弹出安装程序界面,选择安装,“全新安装或向现有安装添加功能”。 进行检测,全部通过即可,一般都是全部通过的(只要不存在失败和警告,即不存在问题,可继续安装),有时可能需要重启计算机,按照要求操作即可。 输入产品秘钥,此安装程序默认输入(软件自动默认输入),直接点击下一步。 接受许可条款,点击下一步。 安装支持文件。 安装程序支持规则,通过即可点击下一步。 2、设置角色 设置角色,选择默认的“SQL Server功能安装”,点击下一步。 3、功能选择 选择功能,“全选”,安装目录可自定义(自定义安装在C/D盘),点击下一步。 4、安装规则 安装规则,全部为“通过/跳过”就没问题(与前面类似,只要不出现警告和失败即不存在问题,可继续下面的安装),点击下一步。 5、实例配置 实例配置,选择:默认实例,实例根目录安装位置可自定义的即可,点击下一步。 磁盘空间需求,满足要求即可点击下一步。 服务器配置,按照如图配置一样的账户名,点击下一步。(下图中启动类型,可根据需要设置成手动或者自动,对于本系统,全部设置成手动即可)。 点击下三角,选择“***\SYSTEM”,***表示本机电脑账户名称,不同电脑账户名称不同。 数据库引擎配置,选择“混合模式”,这里设置密码为xxxxxxx,指定SQL Server 管理员“添加当前用户”。 Analysis Services 配置,添加当前用户,然后点击下一步。 Reporting Services 配置,按照本机模式默认配置。 错误报告,可不勾选发送错误报告,点击下一步。 6、安装配置规则 安装配置规则,通过/跳过,没问题,点击下一步。 开始安装,耐心等待即可。(根据电脑配置不同安装时间在20min-40min不等。) 7、安装完成 安装完成,至此安装完毕。 8、启动数据库 启动SQL Server 2008,选择开始菜单中的Microsoft SQL Server 2008下的“SQL Server Management Studio”(也可将该选项拖到桌面作为快捷方式,便于以后使用),启动SQL Server服务,如图所示: 点击启动后看到如下界面:

2022-04-12 · 1 分钟

MySQL权限级别介绍

MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上 数据库对象级别的权限,作用于指定的数据库对象上(表、视图等)或 者所有的数据库对象上 权限存储在mysql库的user, db, tables_priv, columns_priv, and procs_priv这几个系统表中,待MySQL实例启动后就加载到内存中 MySQL权限级别介绍 对比root用户在几个权限系统表中的数据 mysql> select * from user where user=‘root’ and host=‘localhost’; ##都是’Y’ mysql> select * from db where user=‘root’ and host=‘localhost’; ##无记录 mysql> select * from tables_priv where host=‘localhost’ and user=‘root’; ##无记录 mysql> select * from columns_priv where user=‘root’ and host=‘localhost’; ##无记录 mysql> select * from procs_priv where user=‘root’ and host=‘localhost’; ##无记录 MySQL权限详解 All/All Privileges权限代表全局或者全数据库对象级别的所有权限...

2022-04-12 · 3 分钟

Nginx常用操作及配置

一、nginx获取客户端真实IP、域名、协议、端口 需要在Nginx的配置文件nginx.conf中添加如下配置 proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; 各参数的含义如下所示。 Host包含客户端真实的域名和端口号; X-Forwarded-Proto表示客户端真实的协议(http还是https); X-Real-IP表示客户端真实的IP; X-Forwarded-For这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的IP 二、nginx负载均衡配置 http { …… upstream real_server { server 192.168.103.100:2001 weight=1; #轮询服务器和访问权重 server 192.168.103.100:2002 weight=2; } server { listen 80; location / { proxy_pass http://real_server; } } } nginx负载均衡失败重试配置 upstream real_server { server 192.168.103.100:2001 weight=1 max_fails=2 fail_timeout=60s; server 192....

2022-04-11 · 11 分钟

前端npm私服搭建

前言 在工作中,公司有很多内部的包并不希望发布到npm官网仓库,因为可能涉及到一些私有代码不能暴露。对于前端来讲,这时就可以选择在公司内网搭建npm私有仓库。当前比较主流的几种解决方案:verdaccio、nexus、cnpm。大家可以按照自己的需求选择。本文中采用的是cnpm私服搭建。 cnpm私服搭建流程 1. 安装node,新的node版本会自带npm 官网地址:nodejs.org/zh-cn/ 2. 拉取代码,对应公司需求做相应更改 git clone https://github.com/cnpm/cnpmjs.org.git 3. 修改配置文件 ./config/index.js // 仓库站点访问端口 registryPort: 7001, // 页面访问端口 webPort: 7002, // 外网可以访问的话则注释,否则只能内网访问 bindingHost: '127.0.0.1', // 数据库配置 database: { db: 'cnpmjs', // 数据库 username: 'root', // 数据库用户名 password: '', // 数据库密码 dialect: 'mysql', // 数据库类型 'mysql', 'sqlite', 'postgres', 'mariadb' host: '', // 数据库服务地址 port: 3306 // 端口 } // 用户配置 key 为用户名和密码,value为邮箱 admins: { harlie: 'yanghui3021@163....

2022-04-08 · 1 分钟

Maven私服Nexus的搭建与使用

一、基本介绍 1、如果没有搭建私服会有什么问题? 如果没有私服,我们所需的所有构件都需要通过 Maven 的中央仓库或者第三方的 Maven 仓库下载到本地,而一个团队中的所有人都重复的从 Maven 仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。 另外,很多情况下项目的开发都是在内网进行的,可能根本连接不了 Maven 的中央仓库和第三方的 Maven 仓库。 我们开发的公共构件如果需要提供给其它项目使用,也需要搭建私服。 2、搭建私服的优点 Maven 私服的概念就是在本地架设一个 Maven 仓库服务器,在代理远程仓库的同时维护本地仓库。当我们需要下载一些构件(artifact)时,如果本地仓库没有,再去私服下载,私服没有,再去中央仓库下载。这样做会有如下一些优点: 减少网络带宽流量 加速 Maven 构建 部署第三方构件 提高稳定性、增强控制 降低中央仓库的负载 3、Nexus 介绍 Nexus 是一个专门的 Maven 仓库管理软件,它不仅能搭建 Maven 私服,还具备如下一些优点使其日趋成为最流行的 Maven 仓库管理器: 提供了强大的仓库管理功能,构件搜索功能 它基于 REST,友好的 UI 是一个 ext.js 的 REST 客户端 它占用较少的内存 基于简单文件系统而非数据库 二、Nexus 服务的安装 使用 Docker 镜像进行安装 (1)首先执行如下命令下载 Nexus3 镜像: docker pull sonatype/nexus3 (2)接着执行如下命令,创建宿主机挂载目录: mkdir -p /data/nexus-data (3)最后执行如下命令运行 Nexus3 容器即可:...

2022-04-08 · 2 分钟

Docker Swarm 节点标签与服务约束

多节点 Swarm 集群下,可能节点的配置不同(比如 CPU、内存等),部署着不同类型的服务(比如 Web服务、Job服务等),当这些服务以 Service 或者 Stack 的形式部署到集群,默认情况下会随机分配到各个节点。不同类型的服务对服务器需求的资源是不同的,为了更合理的利用服务器资源,我们可能希望某些服务能够部署到指定的服务器上。另外一种场景,Swarm 集群中的节点跨机房,为了内部服务间通信更快,我们可能希望关联比较密切的服务能够部署到同一机房的节点上。那么,如何做到呢? 很简单,先给节点添加标签,然后服务发布时添加限制条件即可! Node Label 管理 示例集群信息: docker@node1:~$ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION axr4zun8u1es8ytizjpt3zlnw * node1 Ready Active Leader 18.03.0-ce vdip2js7tfflxv0smj6wdw0bv node2 Ready Active 18.03.0-ce vi17ametnwd58297z6nlcl2o0 node3 Ready Active 18.03.0-ce ※ 添加标签 docker node update --label-add role=web node1 ※ 查看标签 docker node inspect node1 [ { "ID": "axr4zun8u1es8ytizjpt3zlnw", "Version": { "Index": 476 }, "CreatedAt": "2018-07-19T03:50:02....

2022-04-08 · 1 分钟

Docker Swarm集群环境搭建及弹性服务部署

一、集群搭建 1、环境准备 五台安装了 Docker 的 CentOS 机器,版本为:CentOS 7.8.2003 Docker Engine 1.12+(最低要求 1.12,本文使用 19.03.12) 防火墙开启以下端口或者关闭防火墙: TCP 端口 2377,用于集群管理通信; TCP 和 UDP 端口 7946,用于节点之间通信; UDP 端口 4789,用于覆盖网络。  2、机器分布 角色 IP HOSTNAME Docker 版本 Manager 192.168.10.101 manager1 19.03.12 Manager 192.168.10.102 manager2 19.03.12 Manager 192.168.10.103 manager3 19.03.12 Worker 192.168.10.10 worker1 19.03.12 Worker 192.168.10.11 worker2 19....

2022-04-08 · 5 分钟

Docker Swarm集群管理利器核心概念扫盲

一、Swarm 简介  Docker Swarm 是 Docker 官方推出的容器集群管理工具,基于 Go 语言实现。代码开源在:https://github.com/docker/swarm 使用它可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。  Docker Swarm 是生产环境中运行 Docker 应用程序最简单的方法。作为容器集群管理器,Swarm 最大的优势之一就是 100% 支持标准的 Docker API。各种基于标准 API 的工具比如 Compose、docker-py、各种管理软件,甚至 Docker 本身等都可以很容易的与 Swarm 进行集成。大大方便了用户将原先基于单节点的系统移植到 Swarm 上,同时 Swarm 内置了对 Docker 网络插件的支持,用户可以很容易地部署跨主机的容器集群服务。  Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排工具,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合。  二、Swarm 核心概念 1、Swarm  Docker Engine 1.12 引入了 Swarm 模式,一个 Swarm 由多个 Docker 主机组成,它们以 Swarm 集群模式运行。Swarm 集群由 Manager 节点(管理者角色,管理成员和委托任务)和 Worker 节点(工作者角色,运行 Swarm 服务)组成。这些 Docker 主机有些是 Manager 节点,有些是 Worker 节点,或者同时扮演这两种角色。...

2022-04-08 · 2 分钟