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

相关推荐
qq_3660862212 分钟前
sql 查询中关于 null 值判断的问题
数据库·sql
测试修炼手册20 分钟前
[测试技术] JUnit 6 入门与实战:断言、参数化与 Mockito
数据库·junit·sqlserver
吴声子夜歌43 分钟前
Redis 3.x——集群故障转移
java·数据库·redis·集群
名不经传的养虾人1 小时前
从0到1:企业级AI项目迭代日记 Vol.71|系统显示正常,但实际上什么都没发生
数据库·人工智能·ai编程·ai工作流·企业ai
尽兴-1 小时前
企业数据库选型与演进:Oracle、达梦、MySQL 与分库分表实践
数据库·mysql·oracle·分库分表
空中湖2 小时前
Spring AI Function Calling 完全指南:让 AI 查数据库、调 API、发通知
数据库·人工智能·spring
IT瑞先生2 小时前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
数据库小学妹2 小时前
MySQL在线DDL实战:ALGORITHM三种算法对比+gh-ost变更管理SOP
mysql·dba·数据库运维·在线ddl·mdl锁·sql变更管理
金伟API10243 小时前
常见的SQL面试题:经典50例
数据库·人工智能·笔记·sql·学习
谜之锋3 小时前
银河麒麟 Debian 系统离线deb包安装Mariadb 数据库指南
数据库·debian·mariadb