mysql 数据库在liunx 上的备份和恢复

一. mysql 数据库备份 sh 脚本

1. vim sqlback.sh

bash 复制代码
#!/bin/bash

USER="root"        #账号
PASSWORD="123456"  #密码
DATABASE="test"    #数据库名
BACKUP_DIR="/home/dev/mysql"   #备份存的目录
TIMESTAMP=$(date +"%F")        #带时间命名

BACKUP_FILE="$BACKUP_DIR/$DATABASE-$TIMESTAMP.sql" 

mysqldump -u $USER -p$PASSWORD $DATABASE > $BACKUP_FILE

if [ $? -eq 0 ]; then
  echo "Backup succeeded: $BACKUP_FILE"
else
  echo "Backup failed"
fi

2. chmod +x sqlback.sh

3. ./sqlback.sh

4. 执行完后会在 /home/dev/mysql 目录下生成备份文件

二. mysql 数据库恢复流程

1. 如果数据库没有存在,要先创建数据库

bash 复制代码
 mysql -u root -p -e "CREATE DATABASE test;"

2. vim sqlRestore.sh

bash 复制代码
#!/bin/bash

# MySQL credentials
USER="root"             #账号
PASSWORD="123456"       #密码
DATABASE="test"         #数据库名
BACKUP_FILE="/home/dev/mysql/test-2024-06-04.sql.sql"   #数据库备份的目录

# Run mysql to restore
mysql -u $USER -p$PASSWORD $DATABASE < $BACKUP_FILE

# Check if the command succeeded
if [ $? -eq 0 ]; then
  echo "Restore succeeded: $DATABASE"
else
  echo "Restore failed"
fi

2. chmod +x sqlRestore.sh

3. ./sqlRestore.sh

4. 恢复成功

相关推荐
数据雕塑家6 分钟前
数据库 + Grafana 可视化配置指南:从数据源连接到第一个仪表盘
数据库·grafana
源图客17 分钟前
Linux系统部署Postgres数据库(ubuntu22.04)
linux·运维·数据库
minebmw717 分钟前
Oracle 19.29 中 ORA-00600 [4000] 错误完全解析
数据库·oracle
编程经验分享17 分钟前
Windows 安装 PostgreSQL 并安装 vector 扩展
数据库·postgresql
ZPC821017 分钟前
moveit servo 发指令给real arm
java·前端·数据库
小草儿79924 分钟前
gbase8s之系统表sysprocedures
数据库
爱莉希雅&&&26 分钟前
MySQL 高可用实战:PXC + HAProxy + Keepalived 完整版笔记
运维·数据库·mysql·haproxy·数据库同步·pxc
2301_7641505626 分钟前
Redis如何控制只读从库的安全_配置replica-read-only防止从节点数据被意外篡改
jvm·数据库·python
DaqunChen29 分钟前
SQL如何检测分组内是否存在满足条件的数据_EXISTS结合分组
jvm·数据库·python
脑子加油站30 分钟前
OpenEuler24.03 分布式配置redis 集群
数据库·redis·分布式·php·nginx代理