docker 安装mysql

docker search mysql

docker pull mysql:5.7

#搜索mysql
docker search mysql
#拉取mysql版本镜像
docker pull mysql:5.7

# -p  3306:3306  映射访问的端口:mysql自身端口   如  3307:3306  

docker run -d --name mysql \
--privileged=true \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /etc/mysql:/etc/mysql \
-v /opt/mysql:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
docker.io/mysql:5.7
docker exec -it mysql bin/bash

mysql -uroot -p

打开阿里云 开放3306端口

授权远程登录

grant all privileges on *.* to root@'%' identified by '123456';

解决SQL 分组报错

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
set @@global.sql_mode 
='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

修改完成后 需要重启spring 项目

查询系统时间
timedatectl
在这里插入图片描述
在这里插入图片描述

linux 系统时区是UTC,而mysql使用的是系统时区 所以也是UTC
进去docker容器 修改时区
进入mysql容器,连接文件,退出mysql容器,重启mysql(一鼓作气)

docker exec -it mysql bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
exit
docker restart mysql

mysql 自动备份

编写文件 backup.sh 在usr/data下面 自建

BACKUP_ROOT=/usr/data/
BACKUP_FILEDIR=$BACKUP_ROOT/mysql_bak
#当前日期
DATE=$(date +%Y%m%d)

#查询所有数据库
DATABASES=$(docker exec -i mysql(docker容器的id、也可以是容器的命名) mysql  -uroot -p123456 -e "show databases" | grep -Ev "Database|sys|information_schema|performance_schema|mysql")
#循环数据库进行备份
for db in $DATABASES
do
echo
if [[ "${db}" =~ "+" ]] || [[ "${db}" =~ "|" ]];then
echo "jump over ${db}"
else
echo ----------$BACKUP_FILEDIR/${db}_$DATE.sql.gz BEGIN----------
docker exec -i mysql(docker容器的id、也可以是容器的命名)  mysqldump -uroot -p123456 --default-character-set=utf8 -q --lock-all-tables --flush-logs -E -R --triggers -B ${db} | gzip > $BACKUP_FILEDIR/${db}_$DATE.sql.gz
echo ${db}
echo ----------$BACKUP_FILEDIR/${db}_$DATE.sql.gz COMPLETE----------
echo
fi
done

echo "备份完成"


#删除7天前的数据
echo ----------CLEAN BEGIN----------
find /usr/data/mysql_bak/ -mtime +7 -name "*.gz" -exec rm -rf {} \;
echo ----------CLEAN COMPLETE---------

使用crontab 定时启动脚本

#查看定时任务
crontab -l

#修改定时任务
crontab -e

#每天晚上2点执行
0 2 * * *   /usr/data/backup.sh > /usr/data/logs/backup.log 2>&1

#开启定时任务
service crond start

#关闭定时任务
service crond stop

#查看启动状态
service crond status
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值