一 MySQL数据备份

#1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。
#2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
#3. 导出表: 将表导入到文本文件中。

一、使用mysqldump实现逻辑备份

#语法:
# mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql-表名           备份一张表#示例:
#单库备份
mysqldump -uroot -p123 db1 > db1.sql
mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql

#多库备份 mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql 
#备份所有库 mysqldump -uroot -p123 --all-databases > all.sql

二、恢复逻辑备份

#方法一:
[root@egon backup]# mysql -uroot -p123 < /backup/all.sql#方法二:
mysql> use db1;
mysql> SET SQL_LOG_BIN=0;
mysql> source /root/db1.sql#注:如果备份/恢复单个库时,可以修改sql文件
DROP database if exists school;
create database school;
use school;

三、备份/恢复案例

复制代码
#数据库备份/恢复实验一:数据库损坏
备份:
1. # mysqldump -uroot -p123 --all-databases > /backup/`date +%F`_all.sql
2. # mysql -uroot -p123 -e 'flush logs' //截断并产生新的binlog
3. 插入数据 //模拟服务器正常运行
4. mysql> set sql_log_bin=0; //模拟服务器损坏
mysql> drop database db;恢复:
1. # mysqlbinlog 最后一个binlog > /backup/last_bin.log
2. mysql> set sql_log_bin=0;
mysql> source /backup/2014-02-13_all.sql //恢复最近一次完全备份
mysql> source /backup/last_bin.log //恢复最后个binlog文件#数据库备份/恢复实验二:如果有误删除
备份:
1. mysqldump -uroot -p123 --all-databases > /backup/`date +%F`_all.sql
2. mysql -uroot -p123 -e 'flush logs' //截断并产生新的binlog
3. 插入数据 //模拟服务器正常运行
4. drop table db1.t1 //模拟误删除
5. 插入数据 //模拟服务器正常运行恢复:
1. # mysqlbinlog 最后一个binlog --stop-position=260 > /tmp/1.sql
# mysqlbinlog 最后一个binlog --start-position=900 > /tmp/2.sql
2. mysql> set sql_log_bin=0;
mysql> source /backup/2014-02-13_all.sql //恢复最近一次完全备份
mysql> source /tmp/1.log //恢复最后个binlog文件
mysql> source /tmp/2.log //恢复最后个binlog文件注意事项:
1. 完全恢复到一个干净的环境(例如新的数据库或删除原有的数据库)
2. 恢复期间所有SQL语句不应该记录到binlog中

四、实现自动化备份

备份计划:
1. 什么时间 2:00
2. 对哪些数据库备份
3. 备份文件放的位置备份脚本:
[root@egon ~]# vim /mysql_back.sql
#!/bin/bash
back_dir=/backup
back_file=`date +%F`_all.sql
user=root
pass=123if [ ! -d /backup ];then
mkdir -p /backup
fi# 备份并截断日志
mysqldump -u${user} -p${pass} --events --all-databases > ${back_dir}/${back_file}
mysql -u${user} -p${pass} -e 'flush logs'# 只保留最近一周的备份
cd $back_dir
find . -mtime +7 -exec rm -rf {} \;手动测试:
[root@egon ~]# chmod a+x /mysql_back.sql
[root@egon ~]# chattr +i /mysql_back.sql
[root@egon ~]# /mysql_back.sql配置cron:
[root@egon ~]# crontab -l
0 2 * * * /mysql_back.sql

五、表的导出和导入

SELECT... INTO OUTFILE 导出文本文件
示例:
mysql> SELECT * FROM school.student1
INTO OUTFILE 'student1.txt'
FIELDS TERMINATED BY ',' //定义字段分隔符
OPTIONALLY ENCLOSED BY '”' //定义字符串使用什么符号括起来
LINES TERMINATED BY '\n' ; //定义换行符mysql 命令导出文本文件
示例:
# mysql -u root -p123 -e 'select * from student1.school' > /tmp/student1.txt
# mysql -u root -p123 --xml -e 'select * from student1.school' > /tmp/student1.xml
# mysql -u root -p123 --html -e 'select * from student1.school' > /tmp/student1.html
在mysql配置文件中添加[mysql]secure_file_priv='指定目录'
LOAD DATA INFILE 导入文本文件
mysql> DELETE FROM student1;
mysql> LOAD DATA INFILE '/tmp/student1.txt'
INTO TABLE school.student1
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '”'
LINES TERMINATED BY '\n';

六、数据库迁移

# mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456

  

  

  

转载于:https://www.cnblogs.com/huangxu/p/7519204.html

mysql-数据备份操作相关推荐

  1. mysql 数据备份

    一:IDE工具介绍 生产环境还是推荐使用mysql命令行, 但为了方便我们测试 可以使用IDE 工具. 掌握 测试+链接数据库. 新建库 新建表,新增字段+类型+约束 设计表:外键 新增查询 备份库. ...

  2. MySQL数据备份、恢复

    文章目录 一.MySQL日志管理 1.1日志分类 1.2日志配置 1.3日志查询 二.MySQL数据备份 2.1物理备份 2.2逻辑备份 三.常用的备份方法 3.1物理冷备 3.2工具备份(温备) 3 ...

  3. mysql数据备份恢复

    数据备份恢复 一.概述 MySQL数据备份即databases Binlog my.cnf 所有备份数据都应放在非数据库本地,而且建议有多份副本.测试环境中做日常恢复演练,恢复较备份更为重要. 备份: ...

  4. MySQL数据备份与SQL语句

    MySQL数据备份与SQL语句 1.mysql数据库备份与恢复 1.1 数据库常用备份方案 数据库备份方案: 全量备份 增量备份 差异备份 备份方案 特点 全量备份 全量备份就是指对某一个时间点上的所 ...

  5. python之mysql数据备份和恢复

    python之mysql数据备份和恢复 1. 数据的备份和恢复 1.1 数据备份 1.2 数据恢复 1. 数据的备份和恢复 下面的命令属于mysql特有的,不属于sql句. 1.1 数据备份 操作步骤 ...

  6. 7、 MySQL数据备份

    MySQL数据备份.恢复 引言:在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果,那么对于数据的备份就将显的十分重要.对于MySQL而言,在其备份中,日志起到了很重要的作用 一. ...

  7. mysql数据备份方案

    三种常用mysql数据备份方案 备份 MySQL 数据库有多种方案,以下是常见的几种备份方案及其操作步骤和相应的命令: 1.使用 mysqldump 命令进行逻辑备份: 操作步骤: 打开命令行或终端窗 ...

  8. mysql备份psb文件怎么打开_Navicat for MySQL 数据备份教程

    原标题:Navicat for MySQL 数据备份教程 一个安全和可靠的服务器与定期运行备份有密切的关系,因为错误有可能随时发生,由攻击.硬件故障.人为错误.电力中断等都会照成数据丢失.备份功能为防 ...

  9. Mysql数据库的简单备份与还原_史上最简单的MySQL数据备份与还原教程

    本文主要为大家详细介绍了史上最简单的MySQL数据备份与还原教程第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 数据备份与还原第一篇分享给大家,具体内容如下 基础概念: ...

  10. mysql 镜像备份_手动构建percona-xtrabackup Docker镜像,并实现mysql数据备份

    由于最近项目比较多,并且都需要自己部署运维Mysql,为了保证mysql数据的安全,那么数据备份就必不可少了.之前做mysql数据备份的时候,都是使用的xtrabackup,所以这次也不例外,由于需要 ...

最新文章

  1. 超像素、语义分割、实例分割、全景分割 傻傻分不清?
  2. [bat] 使用bat文件保证指定程序运行
  3. 全面掌握ISO8583报文协议
  4. 晶振波形不是正弦波_10天电子入门-电感/晶振/声音
  5. sql 递归查询所有的下级
  6. 数据库工作笔记14---win10系统安装sqlserver2005提示服务无法启动
  7. bash/shell 解析命令行参数工具:getopts/getopt
  8. 迷宫~哈哈~终于懂了BFS
  9. 微服务实战(八):落地微服务架构到直销系统(服务高可用性)
  10. 六大开源监测工具 你用过哪个?
  11. LeetCode——75. 颜色分类(面试题)
  12. AUTOCAD——Measregeom测量工具
  13. 卷积的拉普拉斯变换等于拉普拉斯变换的乘积
  14. 养生之道——》每天8杯水
  15. 容器安全技术容器发展历程
  16. [RK3399][Android7.1.1]TvSettings添加默认主界面(Home app)设置
  17. 2016年12月计算机等级考试,2016年12月计算机二级考试练习
  18. 使用@Valid+BindingResult进行controller参数校验
  19. 计算机pe病毒的感染过程,感染型PE病毒分析与专杀修复工具的开发.pdf
  20. 两大权威机构点赞百度AI,“技术为王”时代的中国旗帜

热门文章

  1. Oracle中动态SQL详解
  2. Oracle数据库备份dmp文件,使用cmd命令导入导出步骤,以及忘记Oracle密码
  3. Oracle入门教程,新手必读
  4. MySQL提供链接途径_MySQL 连接
  5. 你写过哪些原创的风骨傲气,热血沸腾的句子?
  6. 人人想健康!但,健康的,最主要因素,是什么?
  7. 单位人勾心斗角,我是老实人该怎么办?
  8. 高瓴突然清仓阿里巴巴、蔚来、理想、小鹏,是怎么回事?
  9. 缅甸是一个怎样的国家?第一次去这里有什么注意事项?
  10. 高人,不断地在营销, 有收入就是高人