MySql数据库备份和恢复

windows下操作

备份exp.bat内容如下

@echo offcd C:\Program Files\MySQL\MySQL Server 8.0\binmysqldump -uroot -p12345678 -R dayreport > D:\bk\20230420\dayreport_20230420.sqlmysqldump -uroot -p12345678 -R ddm_am > D:\bk\20230420\ddm_am_20230420.sqlmysqldump -uroot -p12345678 -R ddm_brm > D:\bk\20230420\ddm_brm_20230420.sqlmysqldump -uroot -p12345678 -R ddm_common > D:\bk\20230420\ddm_common_20230420.sqlmysqldump -uroot -p12345678 -R ddm_hr > D:\bk\20230420\ddm_hr_20230420.sqlmysqldump -uroot -p12345678 -R ddm_qa > D:\bk\20230420\ddm_qa_20230420.sqlmysqldump -uroot -p12345678 -R schedule > D:\bk\20230420\schedule_20230420.sqlmysqldump -uroot -p12345678 -R train > D:\bk\20230420\train_20230420.sqlecho [%date% %time%]pause

导入imp.bat

@echo offcd C:\Program Files\MySQL\MySQL Server 8.0\binmysql -uroot -p12345678 dayreport < C:\Users\admin\Desktop\20230420\dayreport_20230420.sql --default-character-set=utf8mysql -uroot -p12345678 ddm_am < C:\Users\admin\Desktop\20230420\ddm_am_20230420.sql --default-character-set=utf8mysql -uroot -p12345678 ddm_brm < C:\Users\admin\Desktop\20230420\ddm_brm_20230420.sql --default-character-set=utf8mysql -uroot -p12345678 ddm_common < C:\Users\admin\Desktop\20230420\ddm_common_20230420.sql --default-character-set=utf8mysql -uroot -p12345678 ddm_hr < C:\Users\admin\Desktop\20230420\ddm_hr_20230420.sql --default-character-set=utf8mysql -uroot -p12345678 ddm_qa < C:\Users\admin\Desktop\20230420\ddm_qa_20230420.sql --default-character-set=utf8mysql -uroot -p12345678 schedule < C:\Users\admin\Desktop\20230420\schedule_20230420.sql --default-character-set=utf8mysql -uroot -p12345678 train < C:\Users\admin\Desktop\20230420\train_20230420.sql --default-character-set=utf8echo [%date% %time%]pause

需要备份首先就需要在本地安装MySQL

安装教程:

自动备份和删除备份文件的bat脚本:

@echo off

forfiles /p "D:\ERP_MySQLbak" /m mysql_backup_*.sql -d -1 /c "cmd /c del /f @path"

set "yMd=%date:~,4%%date:~5,2%%date:~8,2%"

set "hms=%time:~,2%%time:~3,2%%time:~6,2%"

"D:\Program Files\mysql-5.7.28-winx64\bin\mysqldump.exe" --opt -uroot1 -proot -h***.***.***.***  --all-databases>D:\ERP_MySQLbak\mysql_backup_%yMd%-%hms%.sql

@echo on

说明

forfiles /p "D:\ERP_MySQLbak" /m mysql_backup_*.sql -d -1 /c "cmd /c del /f @path"

删除之前的备份文件

"D:\ERP_MySQLbak" 是备份文件存储路径

mysql_backup_*.sql 是备份文件名称   以mysql_backup_ 开头  以.sql结尾

-d -1 是有效期为1天

set "yMd=%date:~,4%%date:~5,2%%date:~8,2%"

set "hms=%time:~,2%%time:~3,2%%time:~6,2%"

设置文件名称中的日期和时间

"D:\Program Files\mysql-5.7.28-winx64\bin\mysqldump.exe" --opt -uroot1 -proot -h***.***.***.***  --all-databases>D:\ERP_MySQLbak\mysql_backup_%yMd%-%hms%.sql

指定 mysqldump目录,使用root1 备份所有数据库到 D:\ERP_MySQLbak\mysql_backup_%yMd%-%hms%.sql 文件

剩下就是在windows中创建计划任务。

linux下操作

Linux下MySQL数据库备份和恢复

Linux下MySQL数据库有逻辑备份和物理备份,也可以分为完全备份、部分备份。

·完全备份是指备份整个数据集(即整个数据库)

·部分备份是指备份部分数据集(只备份一个表)

逻辑备份最大优点是对于各种存储引擎,都可以使用同样的方法来备份。而物理备份则不同,不同的存储引擎有着不同的备份方法。

mysqldump基本语法

mysqldump -uUsername -pPassword dbname table1 table2 … > BackupName.sql

备份多个数据库

mysqldump -uUsername -pPassword –databases dbname1 dbname2 … > Backup.sql

备份所有数据库

mysqldump -uUsername -pPassword -all-databases > BackupName.sql

MySQL 完全备份和恢复

备份某—个数据库: mysqldump -uUsername -pPassword 数据库名 > /root/XXX.bak

会将指定的数据库备份至roo家目录下,文件名为XXX.bak

恢复: mysql -uUsername -pPassword 数据库名 < /root/XXX.bak

MySQL 增量备份

验证和配置是否启动二进制日志功能。进行增量备份前,要启动二进制日志功能,首先使用vi /etc/my.cnf,打开配置文件,查看是否有log-bin配置行。因此添加此配置即可,输入内容:log-bin=/var/lib/mysql/sql_backup,然后保存my.cnf文件并退出。具体操作如图所示:

重新启动mysql服务,并且到目录/var/lib/mysql下查对应文件:索引文件sql_backup.index和文件sql_backup.000001,如出现以上两个文件,说明二进制日志功能开启成功了。

service mysqld restart

cd /var/lib/mysql/

ls

在进行增量备份时,需要做一次完全备份,输入命令:

mysqldump -uUserName -pPassword –lock-all-tables –flush-logs –delete-master-logs 数据库名 > /root/完全备份文件名.sql

说明:在进行增量备份时,使用的参数解释如下:

–lock-all-tables 在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性;

–flush-logs为结束当前日志,生成新日志文件;

–delete-master-logs 则清除以前的日志,以释放空间;

进行增量备份。我们使用上一步中的flush- logs时间点来进行备份,执行以下命令:

mysqladmin -uUserName -pPassword flush-logs

在/var/mysql/目录下看到新生产的日志文件:sql_backup.000002

做恢复增量备份前,需要恢复完全备份。执行以下命令:

mysql -uUsername -pPassword 数据库名 < /root/完全备份文件名.sql

导入增量备份,执行以下命令:

mysqlbinlog /var/lib/mysql/sql_backup.000002 | mysql -uUsername -pPassword 数据库名

Linux自动备份

开启Linux crond 服务:service crond start

cd root/

在root/下编写一个自动化脚本:vi bak.sh

通过执行命令chmod +x bak.sh为bak.sh赋予执行权限:chmod +x bak.sh

crontab文件中,加入计划任务。假设我们每天1点30分开始备份,命令如下:crontab -e

验证计划任务是否添加成功,输入命令:crontab -l

确认一下crontab有没有开机启动,避免服务器重启后计划任务时效,输入命令:chkconfig –list crond

上图中,我们看到2、3、4、5状态下都是启动的,所以可以确认会开机自启动。

至此,每日的1点30分将会在目录/root/下自动产生数据库的一份全备。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/606831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 常用数据类型

Python 常用数据类型有以下这些&#xff1a; 数据类型中文解析例子int整数&#xff0c;表示整数值1、2float浮点数&#xff0c;表示带有小数点的数值3.14、2.718complex复数&#xff0c;表示实部和虚部组成的复数12j、3-4jstr字符串&#xff0c;表示文本数据&#xff0c;用引号…

Python input()函数:获取用户输入的字符串

input() 函数用于向用户生成一条提示&#xff0c;然后获取用户输入的内容。由于 input() 函数总会将用户输入的内容放入字符串中&#xff0c;因此用户可以输入任何内容&#xff0c;input() 函数总是返回一个字符串。 例如如下程序&#xff1a; msg &#xff1d; input("请…

Python在智能手机芯片研发

Python在智能手机芯片研发中扮演着重要的角色。以下是几个方面的重要性&#xff1a; 快速原型设计&#xff1a;Python具有简洁易读的语法和丰富的第三方库&#xff0c;使工程师能够快速构建原型和进行快速迭代。这对于芯片研发来说&#xff0c;可以加快开发速度&#xff0c;减少…

2024.1.8

今天主要学习的是#define宏的定义、程序的预处理、编译、链接和字符串函数的运用&#xff0c;总的来说不算是特别难&#xff08;和前面的指针这些相比的话&#xff09;&#xff0c;所以说理解起来相对轻松&#xff0c;但其内容还是十分丰富的&#xff0c;所以说需要大量的练习来…

【HarmonyOS开发】ArkUI-X 跨平台框架(使用ArkTs开发AndroidIOS)

ArkUI-X 跨平台框架进一步将 ArkUI 开发框架扩展到了多个OS平台&#xff0c;目前支持OpenHarmony、HarmonyOS、Android、 iOS&#xff0c;后续会逐步增加更多平台支持。开发者基于一套主代码&#xff0c;就可以构建支持多平台的精美、高性能应用。 一、跨平台框架有哪些? 1、…

猫头虎分享已解决Bug || 解决Vue.js not detected的问题 ️

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…

SM4加密算法例程(新增CTR模式)

说明 SM4和AES只是加密算法不同&#xff0c;使用起来几乎没有区别&#xff0c;AES相关的例程可以参考&#xff1a; 基于mbedtls的AES加密(C/C) 基于OpenSSL的AES加密(C/C) 本文主要介绍SM4加密算法&#xff0c;并提供库里没有的CTR模式模式 加密模式介绍 ECB模式&#xff…

【ChatGPT+】创新与教育的交汇点:中国训练工程师的崛起

人工智能总价值超15.7万亿美元 根据国际数据公司&#xff08;IDC&#xff09;的预测&#xff0c;到2030年&#xff0c;全球人工智能市场总价值将超过15.7万亿美元&#xff0c;这表明人工智能技术将在未来几十年内得到广泛应用并取得长足发展。 人工智能的快速发展将对各个领域…

Numpy和Pandas知识点总结

1.python常见的开源库介绍 1.1numpy 一个运行速度非常快的数学库&#xff0c;主要用于数组计算 1.2pandas 一个强大的“分析结构化数据”的工具集&#xff0c;底层依赖numpy 用于数据挖掘和数据分析&#xff0c;同时也提供数据清洗功能 pandas主要有两种数据结构&#xf…

selenium4.0中常见操作方式50条

前阵子升级了py3.9&#xff0c;一些常年陪伴的库也都做了升级&#xff0c;不少命令也更新了&#xff0c;适度更新一下记忆。 1. 打开浏览器&#xff1a;driver webdriver.Chrome() 2. 访问网址&#xff1a;driver.get("Example Domain") 3. 获取当前网址&#xff…

【华为OD机试真题 JavaScript】小朋友来自多少小区|解题思路、代码解析

文章目录 题目描述输入输出示例1输入输出说明解题思路实现代码题目描述 幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个。我们将这些数量汇总到数组garden中。 请根据这些小朋友给出的信息,计算班级小朋友至少来自几个小区? 输入 …

linux 设备模型之设备驱动

设备模型跟踪所有对系统已知的驱动. 这个跟踪的主要原因是使驱动核心能匹配驱动和新 设备. 一旦驱动在系统中是已知的对象, 但是, 许多其他的事情变得有可能. 设备驱动可 输出和任何特定设备无关的信息和配置变量, 例如: 驱动由下列结构定义: struct device_driver { char *na…

BigDecimal的性能问题

BigDecimal 是 Java 中用于精确计算的数字类&#xff0c;它可以处理任意精度的小数运算。由于其精确性和灵活性&#xff0c;BigDecimal 在某些场景下可能会带来性能问题。 BigDecimal的性能问题 BigDecimal的性能问题主要源于以下几点&#xff1a; 内存占用&#xff1a;BigDec…

ElementPlus设置中文

介绍 在Vue3项目将ElementPlus切换为中文 示例 第一步&#xff1a;引入中文文件 import zhCn from element-plus/dist/locale/zh-cn.mjs第二步&#xff1a;设置中文 app.use(ElementPlus,{locale: zhCn, })完整代码 // main.ts import { createApp } from vue import Ele…

mysql+关掉密码过期

mysql关掉密码过期 要在MySQL中关闭密码过期功能&#xff0c;可以按照以下步骤进行操作&#xff1a; 登录到MySQL服务器。 使用管理员账户&#xff08;如root&#xff09;连接到数据库。 mysql -uroot -ppassword 运行以下命令来查看当前的密码过期设置&#xff1a; SHOW…

Verdi常用参数说明

Verdi是一个用于数字信号处理的仿真和调试工具。在Verdi中&#xff0c;可以使用各种参数来配置仿真和调试行为。以下是一些常用的Verdi参数及其说明&#xff1a; 参数作用-f文件列表-ssf指定fsdb的路径-l设置仿真日志的输出级别&#xff0c;如"none"、“errors”、“…

金蝶EAS pdfviewlocal.jsp接口存在任意文件读取漏洞 附POC软件

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 金蝶EAS简介 微信公众号搜索:南风漏洞复现文库 该…

2023十大最具商业影响力量子公司 | 光子盒年度系列

量子技术以其广泛的应用范围和对多个领域的深远影响&#xff0c;是当之无愧的“通用底座”技术&#xff0c;其潜在的产业变革力正在展现&#xff0c;尽管当前量子技术与人工智能或虚拟现实等技术领域相比&#xff0c;量子对大多数人来说还有些“看不透”。 2023年&#xff0c;量…

【Mars3d】new mars3d.layer.GeoJsonLayer({不规则polygon加载label不在正中间的解决方案

问题&#xff1a; 1.new mars3d.layer.GeoJsonLayer({type: "polygon",在styleOptions里配置label的时候&#xff0c;发现这个 不规则polygon加载的时候&#xff0c;会出现label不在中心位置。 graphicLayer new mars3d.layer.GeoJsonLayer({ name: "全国省界…

JVM的FastThrow优化机制

前言&#xff1a; 前一阵子&#xff0c;在公司排查线上问题发现&#xff1a;出问题的方法报空指针异常&#xff0c;但是没有异常堆栈信息和Message。我一开始以为是代码中做了处理&#xff0c;但是经过翻阅代码发现不是。最后一番查找资料&#xff0c;这种现象是JVM的一种优化机…