mysql数据库备份详细操作流程

1、添加备份文件夹

复制代码
mkdir /opt/mysqlbak

2、编写备份脚本 mysql-bakup.sh

复制代码
#!/bin/bash
#名称

name=my-epro
#保存备份个数

number=5
#备份保存路径

backup_dir=/opt/mysqlbak
#日期

dd=$(date '+%Y%m%d')
#备份工具

tool=mysqldump

#用户名

username=xxx

#密码

password=xxx

 
#如果文件夹不存在则创建

if [ ! -d $backup_dir ];

then

mkdir -p $backup_dir;

fi

echo $backup_dir/$name-$dd.sql

#单个数据库写法  mysqldump -u root -p'123456' my_user > root/mysqlbackup/my_user-$filename.sql

#全量备份mysqldump -u$username -p$password --force -A  > $backup_dir/$name-$dd.sql

 

mysqldump -u$username -p$password --force --databases my_bpm my_form my_job my_nacos my_portal my_seata my_system my_user  > $backup_dir/$name-$dd.sql

 

cd $backup_dir

tar -zcvf $name-$dd.sql.tar.gz $name-$dd.sql

rm -rf $name-$dd.sql

#找出需要删除的备份

delfile=`ls -l -crt  $backup_dir/*.sql.tar.gz | awk '{print $9 }' | head -1`

#判断现在的备份数量是否大于$number

count=`ls -l -crt  $backup_dir/*.sql.tar.gz | awk '{print $9 }' | wc -l`

if [ $count -gt $number ]

then

  #删除最早生成的备份,只保留number数量的备份

  rm $delfile

fi
#拷贝到远程的机器上

#scp -r $name-$dd.sql.tar.gz root@192.168.4.140:/data/74_mysql

3、建立远程 的信任

复制代码
cd /root

ssh-keygen -t rsa

#把密钥发给要存储备份的机器上

scp .ssh/id_rsa.pub root@192.168.4.140:/root/.ssh/authorized_keys

#此处因为还没有信任,所以需要输入用户名和密码,复制完之后,信任关系就已经建立。

4、设备定时调度

复制代码
crontab -e

30 22 */3 * * sh /opt/mysql-bakup.sh >> log.txt 2>>log.txt

5、还原数据

复制代码
mysql --connect-expired-password -uroot -pjxbd123 -f < /opt/mysql-dev-20211006.sql

6、导出问题

mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces

复制代码
grant process on *.* to 数据库用户名;
相关推荐
一木 之林9 分钟前
RAG开发学习总结:从 LangChain 入门到检索增强生成链路的全栈实战-4/6
人工智能·学习·计算机视觉·langchain
LHR_friendship9 分钟前
HCIP课程全部内容
网络·笔记·学习·hcip·华为ensp
海绵宝宝转agent36 分钟前
Pico 学习笔记 Harness 设计、历史压缩、三类目录与缓存复用
笔记·学习·缓存
晚风叙码1 小时前
MySQL 数据类型详解:从数值到字符串,一篇讲透
android·mysql·adb
我命由我123451 小时前
Photoshop - Photoshop 使用仿制图章工具移除对象
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
传奇开心果编程1 小时前
【Compose Multiplatform 跨端开发学与练】第3课 布局与组件
android·windows·学习·ui·ios·kotlin·composer
哼べ要伱管2 小时前
26秋季上册-广东省电子基础性作业(小学)
经验分享·学习
JWASX2 小时前
Java 转 go 学习 - 并发编程(2)
学习·golang
~kiss~2 小时前
大模型中的 Q4_K_M 含义
学习
做运维的阿瑞2 小时前
SQL 面试高频:用户、商品、订单三表查询全解析
数据库·sql·mysql