linux mysql 5.7.20 部署脚本+备份脚本
一、官网下载源码包
源码包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
检查环境,卸载老版本mysql
二、自动部署脚本
进入文件目录,执行脚本
#!/bin/bash
###########################
#Function: shell script install mysql5.7.20
#System: Linux CentOS-6.9
###########################
mysql_version=mysql-5.7.20-linux-glibc2.12-x86_64
mysql_bin_path=/usr/local/mysql/
service iptables stop
setenforce 0
mkdir -p /data/mysql/{data,logs,tmp}
touch /data/mysql/{mysql.pid,mysql.sock}
useradd mysql
yum install perl perl-devel perl-Data-Dumper libaio-devel -y
tar zxvf $mysql_version.tar.gz -C /usr/local/
cd /usr/local
mv $mysql_version mysql
chown -R mysql:mysql $mysql_bin_path /data/mysql/
以上为安装脚本,配置文件需根据情况而定,安装之后需要初始化,自行初始化启动。
三、自动备份脚本
#!/bin/bash
HOST=localhost
USER=root
PORT=16205
PASSWD= #密码待定
DATE=`date +%Y-%m-%d`
#DATE_NOW=`date +%Y-%m-%d.%H%M`
DATE_NOW=`date +%Y-%m-%d`
OLDDATE=`date +%Y-%m-%d -d "60 days ago"`
BACKUPDIR=/backups/mysql #备份目录
mkdir -p ${BACKUPDIR}/${DATE}
cd ${BACKUPDIR}/${DATE}
/usr/local/mysql/bin/mysqldump -h${HOST} -P${PORT} -u${USER} -p${PASSWD} -R -E --single-transaction --databases #库名 > db_test_${DATE_NOW}.sql
tar zcvf db_test_${DATE_NOW}.sql.tar.gz db_cfg_${DATE_NOW}.sql
rm -rf db_projects_${DATE_NOW}.sql
cd ${BACKUPDIR}
rm -rf ${OLDDATE}
以上为备份脚本,存放至任意目录即可
四、linux设置定时任务,自动执行备份脚本
crontab -e 打开任务
修改为以下数据(每天凌晨2点自动执行脚本)
0 2 * * * sh /data/scripts/mysql_backup.sh
保存:wq
crontab -l 显示所有任务
示例:
0 2 * * * sh /data/scripts/mysql_backup.sh