![mysql backup](/api/file/getImage?fileId=5ff825fe16199b501c01ae08)
## 前言
MySql部署在Docker下,通过每日定时任务,备份并加密压缩,的每日任务脚本
之前写过类似的笔记,年代久远了,再重写一版
## 正文
先提前安装7Z
```shell
# yum 安装7z
yum -y install epe
## 需求
目前服务器的mysql、mongodb、redis等服务都已经搬家进了docker
需求是在宿主机上跑定时任务脚本,实现docker容器中的各个服务的备份、压缩
数据最终由宿主机统一处理。
## 实现
### MySQL
**backup_mysql.sh**
```shell
#!/bin/bash
# mysql 自动备份 压缩 保留15天
# 文件名
backupData
![](/api/file/getImage?fileId=5d5f578d16199b2a52001b87)
## 简介
开发环境已经在之前折腾过了
https://leanote.zzzmh.cn/blog/post/5d4045fb16199b4467000ecb
这次讲生产环境升级jdk、mysql,服务器系统是 Centos7.4
## 折腾
### 卸载JDK
这里需要区分
![](/api/file/getImage?fileId=5d5f57ab16199b2a52001b8a)
## 前言
话说我刚学java的时候,就爱用新技术,当时jdk 1.8 , mysql 5.6算最新了。一眨眼3~4年了,还在用oracle jdk 1.8 & mysql 5.7。。。
最近打算在服务器上做3个重要的变更
1. 开发环境和生产环境 全部改用jdk 11,其中生产环境用openjdk 11.0.4
2. mysql升级到社区版本8.0.17,其实对Mariadb也挺有好感,但目前还是只作为研究先。
3. 迁移日志表,最近发现日志表放在mysql中频繁写入读取,会严重占用内存。打算的方案1是日志全部写在mongodb,方案2是学nginx全部写日志文件。
补充一下为什么用jdk11不用12,因为jdk 11是长期支持版本,理论上可以支持到java 17为止。用到生产环境可以减少折腾带来的不稳定性。
## 折腾
windows下如何折腾就不赘述了,说下我另一台linux deepin下如何卸载旧版安装新版
### Mysql
#### 卸载5.7
```shell
# 卸载5.7
sudo apt-get autoremove --purge mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
sudo dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
```
#### 安装8.0
先在这个页面https://dev.mysql.com/downloads/repo/apt/ 下载mysql-apt-config
安装命令
```shell
dpkg -i mysql-apt-config_0.8.13-1_all.deb
```
后面的选择非常关键了,如果选错容易gg
必须按照系统来,可以停在选择页面去百度下,每个代号是什么意思。总之我是deepin 15.11,对应的选择是deebian的第二个 意思是deebian 9
下一步是
```shell
sudo apt update
sudo apt install mysql-server
```
如果这里出来的内容里有mariadb就废废了,如果是mysql-server-8.0就对了。
选错的解决方法就是彻底卸载mysql-apt-config
```shell
dpkg -r mysql-apt-config_0.8.13-1_all.deb
dpkg --purge mysql-apt-config_0.8.13-1_all.deb
```
然后从头再过一遍
## 填坑
### navicat连mysql报错
错误信息:
`Authentication plugin 'caching_sha2_password'`
参考资料:
https://blog.csdn.net/qq_42006661/article/details/84074200
其实这个问题和linux下是一样的,首次安装必须要用命令行登录一次,并且修改一次密码。大致流程就是
```cmd
# 具体路径要根据实际安装情况
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
# 账号密码登录
mysql -u root -p
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '这里输入新密码';
# 退出mysql
exit
```
### 项目启动报时区错误(错误示范,将导致时间快8小时)
(写在前面,本条的解决
## 常用shell脚本
**1. tomcat监控 自动重启 注意tomcat路径要根据实际情况更改**
```shell
#!/bin/sh
# 获取tomcat进程ID 注意tomcat路径要根据实际情况更改
TomcatID=$(ps -ef |grep '/root/tomcat/bin'|grep -v 'grep'| awk '{print $2}')
# tomcat启动程序 注
![](/api/file/getImage?fileId=5d527c6716199b2a52000b0d)
## 前言
需求: 从零开始部署一台centos服务器,以centos7.4为例。
(先说下,后面的内容需要有一定的linux入门基础,例如如何上传文件到服务器和如何编辑配置文件的部分,不一一赘述,可自由发挥。
另外本文尽可能会采用rpm命令安装二进制安装包方法实现,来降低安装难度
在线预览地址
由于服务器配置较低,首次打开加载1分钟以内属于正常现象
http://www.tczmh.club/projectoa/index
截图展示
登录
首页,箭头指是公共部分
人员信息
系统监控模块
系统日志
OK,没了,还是建