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. 恢复成功

相关推荐
冷血~多好3 分钟前
mysql实现主从复制以及springboot实现读写分离
java·数据库·mysql·springboot
两年半的个人练习生^_^7 分钟前
如何自己实现多数据源
数据库
AI周红伟7 分钟前
周红伟:关于OpenClaw安全使用提醒
大数据·数据库·人工智能·安全·腾讯云·openclaw
斯密码赛我是美女18 分钟前
周报--2
android·数据库
marsh020623 分钟前
23 openclaw防止SQL注入:参数化查询与ORM安全使用
数据库·sql·安全·ai·编程·技术
原来是猿27 分钟前
为什么要配置环境变量?
linux·数据库·python
星辰_mya28 分钟前
MVCC 与事务隔离:MySQL 如何实现“读不阻塞写”?
java·数据库·mysql·面试·架构
m0_7381207232 分钟前
渗透测试——Ripper靶机详细横向渗透过程(rips扫描文件,水平横向越权,Webmin直接获取root权限)
linux·网络·数据库·安全·web安全·php
大能嘚吧嘚33 分钟前
Redis客户端框架-Redisson
数据库·redis·缓存
神龙斗士24036 分钟前
MySQL在Navicat中 库的操作 表的操作
数据库·mysql