码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-09-02 19:01:01      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

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命令行内执行   ?  select     查看select命令的帮助信息

 

2、逻辑备份

查看mysqldump的帮助,使用方法

mysqldump --help

备份命令

mysqldump -uroot -p d1 > /tmp/d1.sql

恢复命令,要先create 数据库 d1

mysql -uroot -p d1 < /tmp/d1.sql

在操作系统命令窗口执行sql语句的方式

mysql -uroot -p d1 -e ‘show tables;‘

 

 3、物理备份

先停止服务

cp data文件夹

如果出现问题需要恢复就把备份的文件夹 重命名为data放到该放的位置

要修改文件夹的属主属组为原来的属主属组,比如mysql:mysql

chown -R mysql:mysql data

再启动已经就没问题了,而且数据已经恢复

 

4、基于binlog的恢复到制定时间点

比如7点时,进行了数据库的mysqldump的备份

mysqldump -uroot -p d1 --master-data=2 > d1-7.sql

之后,在d1库中又建了两张表,t4和t5

但是在9点的时候,有人不小心把t4表删除掉了

现在要求数据库恢复到t5,t4刚创建时候的状态

恢复

先看dump备份时,日志走到了哪里?

MASTER_LOG_FILE=‘mysql-bin-0000009‘       MASTER_LOG_POS=325

用mysqlbinlog解析mysql-bin-000009  

找到时间点at  325,拆分出日志文件

mysqlbinlog mysql-bin-000009  --start-position=325 --stop-position=511 > log1.txt

检查日志是否符合要求,用用cat log1.txt

使用拆分的日志文件restore

 

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

标签:

原文地址:http://www.cnblogs.com/mathprice/p/5833849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!