怎样备份mysql数据的一个表 而不是整个数据库

怎样备份mysql数据的一个表 而不是整个数据库,第1张

复制希望你能帮助学习搜索你的问题,我只是帮着完整的谷歌搜索下

命令备份

MySQLl提供了一个mysqldump命令,我们可以使用它数据备份。

提示输入密码,这TM数据库的表结构和mysqldump的-U根-P TM>tm_050519.sql数据备份到tm_050519.sql,因为备份的数据量,大会占用太多的空间,那么你可以利用gzip压缩数据,命令如下:

#mysqldump的U盘根-P TM | GZIP>tm_050519.sql.gz <BR /系统崩溃,重建系统,您就可以恢复数据:

#mysqldump的-U根P TM <tm_050519.sql

直接从压缩文件中恢复:

BR />#gzip压缩tm_050519.sql.gz mysqldump的 - U盘根-P TM

当然,也有很多MySQL工具提供更直观的备份和恢复功能,如phpMyAdmin是非常方便的。但我认为,mysqldump是最基本,最普遍的。

使用crontab每天定时备份mysql数据库

系统crontab来执行备份文件,并保存备份结果按日期备份的目的。

1,创建一个保存的备份文件的路径的/ var /备份/ mysqlbak的

目录#mkdir-P /无功/备份/ mysqlbak

2,创建/ USR /的sbin / bakmysql的的文件

#VI的/ usr / sbin目录/ bakmysql.sh的

! /斌/庆典

#MySQL备份脚本

CD的/ var /备份/ mysqlbak /

dateDIR =`日期+“%Y-%M-%e”'

MKDIR P $ dateDIR /数据

我的/ usr /本地/网络/ MySQL的/ bin中/ MySQL的uroot plin31415926-E“显示数据库”|

grep的-V“数据库”| grep的-V “INFORMATION_SCHEMA”`

的/ usr /本地/网络/ MySQL的/ bin中/ mysqldump的 - uroot-plin31415926我

gzip压缩的/ var /备份/ mysqlbak / $ dateDIR / $ { I} _ $ {dateDIR}。广州

3,文件属性,使可执行文件

搭配chmod + x / usr / sbin目录/ bakmysql

4,/ etc / crontab文件 BR />

的crontab-E

添加

01 3 ***根目录的/ usr / sbin目录/ bakmysql的

#3点钟,每天进行备份

>

所以每天都可以在/ var /备份/备份SQL文件mysqlbak的看到!

基于之前的文章方法,加入批处理命令即可实现自动备份。只是由于批处理命令中对于备份文件的名字按照时间命名比较特别,所以特别整理一文。

1、复制date文件夹备份

============================

假想环境:

MySQL 安装位置:C:\MySQL

论坛数据库名称为:bbs

数据库备份目的地:C:\db_bak\

============================

新建db_bak.bat,写入以下代码

*******************************Code Start*****************************

net stop mysql

xcopy c:\mysql\data\bbs\*.* c:\db_bak\bbs\%date:~0,10%\ /S /I

net start mysql

*******************************Code End *****************************

然后使用Windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨3点执行back_db.bat)

释:备份和恢复的 *** 作都比较简单,完整性比较高,控制备份周期比较灵活,例如,用%date:~0,10%。此方法适合有独立主机但对mysql没有管理

经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30M左右的数据库耗时5s左右),针对%date:~0,10%的用法

参考 。

2、mysqldump备份成sql文件

==============

假想环境:

MySQL 安装位置:C:\MySQL

论坛数据库名称为:bbs

MySQL root 密码:123456

数据库备份目的地:D:\db_backup\

脚本:

rem *******************************Code Start*****************************

@echo off

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

C:\MySQL\bin\mysqldump --opt -u root --password=123456 bbs >D:\db_backup\bbs_%Ymd%.sql

@echo on

rem *******************************Code End*****************************

将以上代码保存为backup_db.bat

然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)

说明:此方法可以不用关闭数据库,并且可以按每一天的时间来名称备份文件。

通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)

3、利用WinRAR对MySQL数据库进行定时备份。

对于MySQL的备份,最好的方法就是直接备份MySQL数据库的Data目录。下面提供了一个利用WinRAR来对Data目录进行定时备份的方法。

首先当然要把WinRAR安装到计算机上。

将下面的命令写入到一个文本文件里

*******************************Code Start*****************************

net stop mysql

c:\progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data

net start mysql

*******************************Code End*****************************

保存,然后将文本文件的扩展名修改成CMD。进入控制面版,打开计划任务,双击“添加计划任务”。在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了。

这种方法缺点是占用时间比较多,备份期间压缩需要时间,mysql断开比第一种方法更多的时间,但是对于文件命名很好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6160563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存