mysql学习之旅-数据库自动备份和手动恢复

1、导入测试数据库数据

建库
show databases;
CREATE DATBASE easthome;
建表
 CREATE TABLE tj(name varchar(8),tel int(8));
CREATE TABLE sex(name varchar(8),sex int(1));
插入信息
INSERT INTO easthome.tj(name,tel) VALUES(‘LIYAN‘,88888888);
INSERT INTO easthome.tj(name,tel) VALUES(‘zy‘,77777777);
insert into easthome.sex(name,sex) values(‘zy‘,1);
mysql> insert into easthome.sex(name,sex) values(‘LIYAN‘,0);
Query OK, 1 row affected (0.00 sec)
insert into easthome.sex(name,sex) values(‘yangchen‘,1);
 insert into sex(name,sex) values(‘zhangyun‘,0);
mysql> show tables;
+--------------------+
| Tables_in_easthome |
+--------------------+
| sex                |
| tj                 |
+--------------------+
2 rows in set (0.00 sec)

mysql> select * from sex;
+----------+------+
| name     | sex  |
+----------+------+
| zy       |    1 |
| LIYAN    |    0 |
| yangchen |    1 |
| zhangyun |    0 |
+----------+------+
4 rows in set (0.00 sec)

mysql> SELECT * FROM easthome.tj;
+-------+----------+
| name  | tel      |
+-------+----------+
| LIYAN | 88888888 |
| zy    | 77777777 |
+-------+----------+
2 rows in set (0.00 sec)

2、开始备份
mysqldump备份成dump文件
==============
MySQL   安装位置:D:\app\mysql57
数据库名称为:easthome
MySQL root   密码:redhat
数据库备份目的地:D:\db_backup\

脚本:

rem *******************************Code Start*****************************
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
D:\app\mysql57\bin\mysqldump.exe  -uroot -predhat --default-character-set=binary -f easthome > D:\db_bakup\easthome_%Ymd%.dump
@echo on
rem *******************************Code End*****************************

将以上代码保存为backup_db.bat   调试时可以在结尾加上pause,查看是否正常执行
然后使用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、导入到冷备库中     #在这里卡了半天,原来mysqldump只是导出工具,导入时必须要用mysql

在cmd中登录mysql
mysql -uroot -p
create database mytest
use mytest
source d:\db_bakup\easthome_20160901.dump
show tables;    #检查是否导入成功

效果如下:
mysql> source D:\db_bakup\easthome_20160901.dump
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+------------------+
| Tables_in_mytest |
+------------------+
| sex              |
| tj               |
+------------------+
2 rows in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| mytest             |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

时间: 2024-11-01 12:15:38

mysql学习之旅-数据库自动备份和手动恢复的相关文章

mysql学习之旅-数据库自动备份-测试环境搭建

#终于知道什么叫不会走先会跑了,刚开始接触第一个case就是数据库自动备份,我可是都没安装过啊?!   发完牢骚开始干活 首先,因为业务已经上线,不能随便动,先搭建测试环境吧 规划一下 版本:mysql-5.7.14-winx64.zip  从官网下载 系统:windows 7   64bit 解压缩到本地目录 D:\app\mysql57    #注意,非系统盘,非中文 将my-default.ini 复制一份重命名为my.ini  添加如下内容,先保证能开启服务 # For advice o

mysql学习之旅-数据迁移-备份-恢复

1.数据迁移 将/tmp/t3.txt中的数据导入到t3表中,数据以逗号为分割符 load data infile ‘/tmp/t3.txt’ into table t3 fields terminated by ','; 将table2表中的数据导出为文件data.txt,以逗号为分隔符 SELECT * INTO OUTFILE 'data.txt' ->     FIELDS TERMINATED BY ',' ->     FROM table2; #####在mysql命令行内执行

设置mysql数据库自动备份

由于项目需要,在windows下的mysql实现数据库自动备份.经资料查询和尝试,得出方法有两种: 1.使用windows自带的任务计划,然后定时执行一个数据库备份的脚本. 2.使用mysql管理工具navicat配置数据库的备份 这里,由于第二种方法比较简单实用,我就简单描述下第二种方法(因为简单). 工具: navicat for mysql mysql 5.5 步骤: 1.打开navicat客户端,连上mysql后,双击左边你想要备份的数据库.点击“计划”,再点击“新建批处理作业”. . 

Windows Server服务器端MySQL数据库自动备份

1.给root账户授权所有sql权限 grant all privileges on *.* to [email protected]"%" identified by "."; flush privileges; 2.建立bat批处理文件 @echo off set path=%path%;D:\Program Files\MySQL\MySQL Server 5.5\bin set y=%date:~0,4% set m=%date:~5,2% set d=%d

mysql数据库自动备份脚本分享

前几篇博客已经相继公开了去转盘网的所有技术细节,如下: 百度网盘爬虫 中文分词算法 邀请好友注册 js分页部分代码 这篇博客我将继续公开数据库自动备份的代码.可以这么说,没有数据库,一切就是个蛋,没有数据库备份,一切还是个蛋,你可以想象数据库备份多么重要.不会linux,不会写shell的朋友麻烦先去补补.不过你说我牛逼,不补也能看懂,那没问题,哈哈,废话不说了.老规矩,上代码: #!/bin/bash time=$(date +"%d-%m-%Y") pre=/home/ubuntu

好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

转载:http://www.cnblogs.com/lyhabc/p/3322437.html 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自动备份数据库,一键还原数据库,发送备份数据库日志报告到邮箱,自动压缩备份好的数据库 定期执行数据库备份任务,取代SSMS的维护计划,上传数据库备份文件到FTP服务器.其他网络硬盘等 软件有免费和付费两种模式,不过本人觉得免费版本的功能已经足够了 支持SQLSERVER版本:SQLSERVER200

禅道及其数据库自动备份及短信、邮件通知脚本

一.添加SMTP服务器 在需要发送自动报警的服务器上修改如下文件,增加如下两行 # vim /etc/mail.rc set [email protected] smtp=smtp.126.com set smtp-auth-user=doteyplay smtp-auth-password=*** smtp-auth=login     当然,这里的SMTP服务器也可以使用别的,比如QQ的,但是QQ只能发几卦,在测试的时候,总报错:smtp-server: 454 Error: authent

SQL Server2008数据库自动备份步骤

一,  在电脑开始菜单中选择“SQL Server Management Studio”双击.在出现的界面中点击“连接”按钮. 二,  在出现的“ Microsoft SQL Server Management Studio”界面中选择“管理”下的“维护计划”右击维护计划,点击“维护计划向导”, 三,  在出现的“SQL Server维护计划向导”界面中点击“下一步” 四,  在出现的界面中把名称和说明写上.然后点击“更改”设顶备份计划 五,  在出现的“作业计划属性”界面中,更改执行时间,也就

linux shell简单实现数据库自动备份

以centos系统为例,实现数据库自动备份.1.写一个shell: 12 #! /bin/bashmysqldump -cp --user=root --password='123' dbName | gzip > ~/db/dbName-`date +%Y%m%d%H`.sql.gz ; 上述shell中,root是备份时使用的用户名,123是密码,dbName是要备份的数据库的名称.把这个文件放在用户目录下,保存路径为:~/db/dbBackup.sh 保存结束后添加执行权限:chmod a