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

相关推荐
超级种码10 分钟前
Redis:Redis持久化机制
数据库·redis·bootstrap
阿里-于怀16 分钟前
AgentScope AutoContextMemory:告别 Agent 上下文焦虑
android·java·数据库·agentscope
数据库那些事儿20 分钟前
从极速复制“死了么”APP,看AI编程时代的技术选型
数据库
岁岁种桃花儿24 分钟前
MySQL知识汇总:讲一讲MySQL中Select语句的执行顺序
数据库·mysql·database
计算机毕设指导642 分钟前
基于微信小程序民宿预订管理系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
言之。1 小时前
Django原子请求
数据库·django·sqlite
ICT董老师1 小时前
kubernetes中operator与helm有什么区别?部署mysql集群是选择operator部署还是helm chart部署?
linux·运维·mysql·云原生·容器·kubernetes
Codeking__1 小时前
Redis初识——Redis的基本特性
数据库·redis·缓存
霖霖总总1 小时前
[小技巧29]Batched Key Access:MySQL JOIN 性能优化的关键技术
数据库·mysql·性能优化
中环留念1 小时前
MySQL 索引全解析:索引类型、聚簇索引、回表与性能优化
sql·mysql·索引·图解