一、linux备份
使用python脚本,要求有python3和mysqldump
#! /usr/bin/python36 # -*- coding: utf-8 -*- import os import re import datetime import subprocess ## 需要备份数据库的登录信息 mysql_host = { 'test': '10.10.3.207' } db_user = 'root' db_passwd = 'PASSWD' db_port = '3306' ## 备份存放的目录地址,没有回自动生成 back_dir = '/backups/mysql' # 备份文件保存时间,单位:天,超过就删除 backup_keep_time = 30 # 此列表中的数据库将不会备份,下面是默认的基础数据库。 ignore_database = ['Database','information_schema','mysql','sys','performance_schema'] today = datetime.datetime.today().strftime('%Y%m%d%H%M') for env in mysql_host: cmd = '/usr/local/mysql/bin/mysql -h {} -u{} -p{} -P{} -e "show databases"'.format(mysql_host.get(env),db_user,db_passwd,db_port) result = subprocess.check_output(cmd,shell=True,universal_newlines=True).split(' ') databases = [i for i in result if i and i not in ignore_database] env_backup_dir = os.path.join(back_dir,env,today) os.system('mkdir -p {}'.format(env_backup_dir)) for database in databases: back_path = os.path.join(env_backup_dir,'%s_%s.sql.gz' %(database,today)) command = '/usr/local/mysql/bin/mysqldump -h {} -u{} -p{} -P{} {} --force |gzip > {}'.format( mysql_host.get(env),db_user,db_passwd,db_port,database,back_path ) os.system(command) tmp = os.path.join(back_dir,env) for dirname in os.listdir(tmp): time1 = datetime.datetime.strptime(dirname,'%Y%m%d%H%M') time_dif = datetime.datetime.today()-time1 times = time_dif.days if times >= backup_keep_time: for file in os.listdir(os.path.join(tmp,dirname)): os.remove(os.path.join(tmp,dirname,file)) os.rmdir(os.path.join(tmp,dirname))
执行命令
python3 vim /usr/bin/mysql_bakup.py
会在/home/mysql下自动生成一个mysql_bak的文件夹,文件夹是以当时时间的文件夹,文件下就是数据库的备份
[root@localhost ~]# ls /backups/mysql/test/ 202211151637 [root@localhost ~]# ls /backups/mysql/test/202211151637/ nacos_202211151637.sql.gz
二、windows服务器备份mysql脚本
@echo off echo 设置MySql数据库的连接信息 set host=192.168.100.101 set port=3306 set user=root set pass=ECIDI@hc99 echo 设置要备份MySql数据库名称 set dbname1=bns_pay set dbname2=bns_qtnys set dbname3=fawkes set dbname4=fawkes_nacos set dbname5=fawkes_patrol set dbname6=qt_applet echo 获取当天的日期格式,例如:20200902231300 set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2% echo 设置备份文件的路径 set backupfile1=D:mysql_bak\%dbname1%-%backup_date%.sql set backupfile2=D:mysql_bak\%dbname2%-%backup_date%.sql set backupfile3=D:mysql_bak\%dbname3%-%backup_date%.sql set backupfile4=D:mysql_bak\%dbname4%-%backup_date%.sql set backupfile5=D:mysql_bak\%dbname5%-%backup_date%.sql set backupfile6=D:mysql_bak\%dbname6%-%backup_date%.sql echo 使用mysqldump对指定的MySql进行备份 echo 注意路径中有空格的要加上双引号 "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname1% > %backupfile1% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname2% > %backupfile2% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname3% > %backupfile3% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname4% > %backupfile4% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname5% > %backupfile5% "D:mysql-8.0.30-winx64inmysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname6% > %backupfile6% echo 删除过期文件,这里是超过30天就删除 forfiles /p D:mysql_bak /s /m *.sql /d -30 /c "cmd /c del @file /f"
链接:https://www.cnblogs.com/wangyuanguang/p/16893146.html
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
服务器
+关注
关注
13文章
10102浏览量
90913 -
WINDOWS
+关注
关注
4文章
3697浏览量
93251 -
MySQL
+关注
关注
1文章
897浏览量
29242
原文标题:二、windows服务器备份mysql脚本
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
恒讯科技解析:如何在日本服务器上安装和配置数据库(如MySQL)?
为您的业务部署日本服务器后,下一个关键步骤就是安装和配置数据库。无论是用于网站、应用程序还是数据分析,一个稳定高效的数据库是业务的核心。恒讯科技将以最流行的MySQL为例,提供一份在日本服务器(以
Mysql数据恢复—Windows Server下MySQL(InnoDB)全表误删数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启bi
MySQL数据备份与恢复策略
数据是企业的核心资产,MySQL作为主流的关系型数据库管理系统,其数据的安全性和可靠性至关重要。本文将深入探讨MySQL的数据备份策略、常用备份工具以及数据恢复的最佳实践,帮助运维工程
除了增删改查你对MySQL还了解多少
我们都知道MySQL服务器的默认端口为3306,之后就在这个端口号上等待客户端进程进行连接(MySQL服务器会默认监听3306端口)。
数据库数据恢复——MySQL数据库误删除表记录的数据恢复案例
本地服务器,安装的windows server操作系统。
操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有
服务器数据恢复—linux操作系统云服务器数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。
在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本
windows搭建ftp服务器的步骤
在Windows系统上搭建FTP(文件传输协议)服务器通常涉及一系列步骤,包括安装必要的服务、配置服务器设置、以及确保网络安全设置允许FTP流量。 一、准备工作 确定操作系统版本 :
ftp服务器怎么搭建
需要选择一款合适的FTP服务器软件。常见的FTP服务器软件包括Windows自带的IIS(Internet信息服务)、第三方软件如Serv-U、3CDaemon、FileZilla S
使用 sysbench 对华为云 Flexus 服务器 X 做 Mysql 应用加速测评
目前的厂商服务器中是特有独一份的,应用加速包括 MySQL,Redis,NGINX 三种选择。并且服务器性能较同类产品有了大量优化,今天咱们针对 MySQL 应用加速测评一下。
适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库
和 MariaDB 数据库服务器以及托管数据库服务,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Windows、macOS
适用于MySQL和MariaDB的.NET连接器
的功能。例如 SSL 和 SSH 连接、嵌入式服务器、压缩协议、HTTP 隧道等。 与各种 MySQL 和 MariaDB 版本以及NET平台的广泛兼容 ORM 支持:EF Core、Dapper、NHibernate、LinqConnect 等。 完全符合 ADO.N
华为云 Flexus 云服务器 X 实例:在 openEuler 系统下搭建 MySQL 主从复制
前言 本文将介绍如何在华为云 Flexus 云服务器 X 实例上,基于 openEuler 系统部署 MySQL 主从复制。MySQL 作为一款高性能且稳定的开源关系型数据库管理系统,是众多
云服务器 Flexus X 实例 MySQL 应用加速测试
文章目录 目录 文章目录 购买配置 基本配置参考如下: 连接服务器 查询MySQL状态 启动MySQL 添加配置 添加密码并修改权限 性能测试 C#插入数据测试

windows服务器备份mysql脚本
评论