ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

linux:mysql数据库备份

2021-08-22 10:34:35  阅读:199  来源: 互联网

标签:-- 备份 mysql DATETIME myorder linux BACKUP 数据库


使用shell脚本进行数据库的定时备份

1.首先确定需要备份的数据库

    1>进入数据库 输入指令  mysql -uroot -p密码

 

  2>查看mysql中有哪些数据库

   输入指令 show databases;

 

 

  3>我们这次选择dysmysql数据库进行备份

  4>查看数据库中的数据

    首先使用数据库  use dysmysql;

    然后查询这个数据库下的所有表  show tables;

  5>准备操作结束

2.编写shell脚本

  1>在usr/sbin目录下创建mysql_db_backup.sh 文件,使用vim编辑器打开

  2>写入代码

#!/bin/bash
# 1.备份目录
BACKUP=/data/backup/db
# 当前时间
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo $DATETIME
# 数据库的地址
HOST=localhost
# 数据库的用户名
DB_USER=root
#数据库的密码
DB_PW=root
#备份的数据库名
DATABASE=dysmysql

#创建备份目录 如果不存在就创建
[ ! -d "${BACKUP}/${DATETIME}" ] && mkdir -p "${BACKUP}/${DATETIME}"

# 备份数据库
mysqldump -u${DB_USER} -p${DB_PW} --host=${HOST} -q -R --databases ${DATABASE} | gzip > ${BACKUP}/${DATETIME}/$DATETIME.sql.gz

# 将文件处理成 tar.gz
cd ${BACKUP}
tar -zcvf $DATETIME.tar.gz ${DATETIME}
# 删除对应的备份目录
rm -rf ${BACKUP}/${DATETIME}


# 删除十天前的备份文件
find ${BACKUP} -atime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "备份数据库${DATABASE} 成功"

  3>按esc键打出英文冒号,输入wq保存并退出

  4>按esc键然后输入英文冒号继续输入wq,保存并退出。

  5>执行该脚本  sh mysql_db_backup.sh

  6>编写定时指令  

    输入指令crontab -e

    编写代码

30 2 * * * /usr/sbin/mysql_db_backup.sh

此条代码意思为每天两点半执行该脚本  进行备份

  7>查看指令 crontab -l

3.查看备份内容是否正确

  1>切换到压缩包目录下

  2>解压压缩包  gunzip  2021-08-21_221458.sql.gz 

  3>发现数据已经正常备份

USE `dysmysql`;

--
-- Table structure for table `myorder`
--

DROP TABLE IF EXISTS `myorder`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `myorder` (
  `id` int DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `myorder`
--

LOCK TABLES `myorder` WRITE;
/*!40000 ALTER TABLE `myorder` DISABLE KEYS */;
INSERT INTO `myorder` VALUES (100,'dog');
/*!40000 ALTER TABLE `myorder` ENABLE KEYS */;
UNLOCK TABLES;

 

标签:--,备份,mysql,DATETIME,myorder,linux,BACKUP,数据库
来源: https://www.cnblogs.com/dongysz/p/15171534.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有