mysql 数据备份
一:IDE工具介绍
生产环境还是推荐使用mysql命令行, 但为了方便我们测试 可以使用IDE 工具。
掌握 测试+链接数据库、 新建库 新建表,新增字段+类型+约束 设计表:外键 新增查询 备份库、表注意: 批量加注释:Ctrl+? 键 批量去注释:ctrl+shift+?键
二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 * * * /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.htmlLOAD 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/lx3822/p/9025690.html
mysql 数据备份相关推荐
- mysql备份psb文件怎么打开_Navicat for MySQL 数据备份教程
原标题:Navicat for MySQL 数据备份教程 一个安全和可靠的服务器与定期运行备份有密切的关系,因为错误有可能随时发生,由攻击.硬件故障.人为错误.电力中断等都会照成数据丢失.备份功能为防 ...
- Mysql数据库的简单备份与还原_史上最简单的MySQL数据备份与还原教程
本文主要为大家详细介绍了史上最简单的MySQL数据备份与还原教程第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 数据备份与还原第一篇分享给大家,具体内容如下 基础概念: ...
- mysql 镜像备份_手动构建percona-xtrabackup Docker镜像,并实现mysql数据备份
由于最近项目比较多,并且都需要自己部署运维Mysql,为了保证mysql数据的安全,那么数据备份就必不可少了.之前做mysql数据备份的时候,都是使用的xtrabackup,所以这次也不例外,由于需要 ...
- MySQL数据备份命令
MySQL数据备份命令 一.备份命令 1.备份命令 2.备份压缩 3.备份同个库多个表 4.同时备份多个库 5.备份实例上所有的数据库 6.备份数据出带删除数据库或者表的sql备份 7.备份数据库结构 ...
- MySQL数据备份、恢复
文章目录 一.MySQL日志管理 1.1日志分类 1.2日志配置 1.3日志查询 二.MySQL数据备份 2.1物理备份 2.2逻辑备份 三.常用的备份方法 3.1物理冷备 3.2工具备份(温备) 3 ...
- mysql数据备份恢复
数据备份恢复 一.概述 MySQL数据备份即databases Binlog my.cnf 所有备份数据都应放在非数据库本地,而且建议有多份副本.测试环境中做日常恢复演练,恢复较备份更为重要. 备份: ...
- MySQL数据备份与SQL语句
MySQL数据备份与SQL语句 1.mysql数据库备份与恢复 1.1 数据库常用备份方案 数据库备份方案: 全量备份 增量备份 差异备份 备份方案 特点 全量备份 全量备份就是指对某一个时间点上的所 ...
- mysql 数据备份(mysqldump)
mysql 数据备份(mysqldump) ************************* mysqldump 使用 命令格式 root@7a72b2ffd688:/# mysqldump --h ...
- Docker下Mysql数据备份
Mysql数据备份 温馨提示 :本篇文章内容 手动备份 1.进到docker-compose配置文件所在目录 cd /root/apps/data-input-sy 2.查看所有镜像 docker-c ...
最新文章
- Powershell RESTAPI 访问Office365
- 万能点位图软件_【像素图】复古提花毛衣+秋风落叶十字绣图,非常适合这个季节...
- Red Hat Linux 5.4 开启xdm远程访问
- 斐波那契查找+思路分析
- CSS之Background-clip属性
- 米度教育零基础三个月学会机器学习视频总结
- WebService之Axis2 (3):使用services.xml文件发布WebService
- 批量实现 cv2.cvtColor(images, cv2.COLOR_GRAY2RGB)
- 用面向对象思想设计奥赛罗游戏
- PAIP.一些流氓软件的流氓营销方法.txt
- mybatis-plus 自定义UpdateWrapper(一)实现列自增
- Shopee平台有哪些电商大促活动?大促活动如何报名?
- 【每日一题】快速检索
- QTreeWidget使用整理
- 光电成像相关检测技术整理
- php网页怎么和PLC通讯,plc网络通讯方式和协议
- v-model双向绑定原理
- 期盼小豆发芽(2008.7.20)
- 如何配置java环境变量?
- 走航式海洋多参数剖面测量系统(MVP)验收记录