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 数据库用户名;
相关推荐
湘美书院--湘美谈教育1 小时前
湘美书院夜谈录:AI时代的体验感与选择价值观念
人工智能·深度学习·学习·安全·生活
小雪崩1 小时前
嵌入式学习 day49:ARM基础
嵌入式硬件·学习
Kamille Bidan1 小时前
平台核心业务表结构设计
mysql·heidisql
田径他爸来了1 小时前
嵌入式学习第38天——裸机imx6ull(uart接口;配置波特率为115200,8位数据位,无校验,一位停止位)
嵌入式硬件·学习
qeen871 小时前
【Linux】操作系统之进程介绍(一)
linux·笔记·学习·进程
梦帮科技2 小时前
从提示词到可复现音乐工作流:RNOISE 2.0 的 Prompt Engineering 架构
人工智能·python·mysql·ci/cd·架构·node.js·numpy
传奇开心果编程2 小时前
【Rust入门知识点学与练】第36课:所有权——移动、借用、Copy、切片
开发语言·学习·rust
军训猫猫头2 小时前
C# 封装 MySQL 自动写入与查询工具类(基于 MySqlConnector)
mysql·c#·.net·wpf
传奇开心果编程3 小时前
【Rust入门知识点学与练】第35课:工具链与反馈环——先学会读编译器在说什么
开发语言·学习·rust