mysql自动备份

为了避免服务挂掉,数据库无法恢复,搞个脚本做数据库备份。核心的东西就是一个命令:mysqldump

为了避免服务挂掉,数据库无法恢复,搞个脚本做数据库备份。核心的东西就是一个命令:mysqldump

首先写一个自动备份的shell脚本:

#!/bin/bash
#数据库用户名
db_username="admin"
#数据库密码
db_password="pwd"
#数据库ip
db_host="localhost" 
#数据库库名
db_name="test_db"
#mysqldump命令目录
bin_dir="/usr/bin" 
#备份数据目录
bck_dir="/home/data/mysqlbackup"
#文件名:日期命名,20220126.sql
date=`date +%F`
#备份命令
$bin_dir/mysqldump --opt -u$db_username -p$db_password -h$db_host $db_name > $bck_dir/$date.sql

升级版本1:压缩文件

$bin_dir/mysqldump --opt -u$db_username -p$db_password -h$db_host $db_name | gzip > $bck_dir/$date.sql.gz

如果gzip未安装需要安装gzip

yum -y install zip gzip

升级版本2:防止锁表

$bin_dir/mysqldump --opt -u$db_username -p$db_password -h$db_host $db_name --skip-lock-tables | gzip > $bck_dir/$date.sql.gz

升级版本3:备份多个库

#数据库库名
db_names=("db-test1" "db-test2")

for db in ${db_names[@]};do
echo database:$db
$bin_dir/mysqldump --opt -u$db_username -p$db_password -h$db_host $db_name --skip-lock-tables | gzip > $bck_dir/$date.sql.gz
done

升级版本4:删除过期数据

expire_flag="ON"
expire_days=15
if [ "expire_flag" == "ON" -a  "$bck_dir" != "" ];then
        `find $bck_dir/ -type f -mtime +$expire_days | xargs rm -rf`
        echo "Expired backup data delete complete!"
fi

添加系统定时任务:

#打开任务列表
crontab -e 
#加入定时任务,每天凌晨3点自动执行
00 03 * * * cd /home/script/;sh mysql_dump.sh >> log.txt 2>>log.txt

 

转载作品,原作者:bettermann,文章来源:https://www.toutiao.com/i7065192846382809614

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年2月6日 21:59
下一篇 2022年2月18日 11:54

相关推荐

  • 如何在两台服务器之间迁移 MySQL / MariaDB 数据库 阿里云腾讯云迁移案例

    MySQL 数据库迁移的需求非常常见,测试数据库迁移至生产数据库,从一台服务器,迁移至另一台服务器,又或者是从一个云服务商迁移至另一个云服务商。不同的需求使用不同的迁移方法,总体来…

    2022年1月21日 MySQL
    01650
  • MySQL 用户管理 – 添加用户、授权、删除用户

    不要直接使用 root 用户管理应用数据 添加用户以root用户登录数据库,运行以下命令: create user zhangsan identified by ‘zhangsan…

    MySQL 2021年12月10日
    0310
  • MySQL基本数据类型与约束条件

    数据存储的演变 # 方向: 朝着更加统一和方便管理 数据库的发展史 # 由本地保存逐步演变为线上保存 数据库的本质 # 本质上就是一款CS架构的软件 “”” 数据库: 在不同场景可…

    2022年2月20日 MySQL
    0760
  • MySQL 故障诊断:MySQL 占用 CPU 过高问题定位及优化

    在使用 MySQL 的过程中会遇到各种瓶颈问题,常见的是 IO 瓶颈,但是有时候会出现服务器 CPU 使用率超过 100%,应用页面访问慢,登录服务器负载很高。而导致这个问题竟然是 MySQL 进程,按理说如果 MySQL 运行稳定,服务器的 CPU 资源并不会跑满,如果出现这个问题,初步可以断定,是 MySQL 实例中出现了问题 SQL。

    MySQL 2022年3月11日
    02340
  • mysql5.7主从复制搭建

    简介 主从复制就是有两台数据库,一台作为主库,一台作为从库,从库会根据主库的binlog将数据复制过来,从而达到主从数据库数据保持一致的效果。主要用途如下: 起到备份数据的作用,主…

    2022年2月6日 MySQL
    0760
  • AI智能助手
  • MySQL的json查询之插入、合并

    MySQL的json查询之插入、合并

    2021年12月21日 MySQL
    01970

发表回复

登录后才能评论
分享本页
返回顶部