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 数据库用户名;
相关推荐
2401_896732133 小时前
MySQL小笔记
mysql
学长毕设4 小时前
基于SpringBoot的青少年编程学习平台系统-附源码
spring boot·学习·青少年编程
程序员塔塔喵5 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
_孤傲_6 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
为思念酝酿的痛8 小时前
MySQL的操作
数据库·mysql
小小de风呀8 小时前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习
李某学编程8 小时前
基于ARM的微机原理学习笔记(一)
arm开发·笔记·学习
Song_RsHt9 小时前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
Umi·9 小时前
MySQL库表操作
数据库·mysql
星光开发者10 小时前
基于springboot智慧草场牛羊管理系统-计算机毕设【课程设计】50360
vue.js·spring boot·后端·mysql·php·课程设计·express