一: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 数据备份相关推荐

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

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

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

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

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

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

  4. MySQL数据备份命令

    MySQL数据备份命令 一.备份命令 1.备份命令 2.备份压缩 3.备份同个库多个表 4.同时备份多个库 5.备份实例上所有的数据库 6.备份数据出带删除数据库或者表的sql备份 7.备份数据库结构 ...

  5. MySQL数据备份、恢复

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

  6. mysql数据备份恢复

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

  7. MySQL数据备份与SQL语句

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

  8. mysql 数据备份(mysqldump)

    mysql 数据备份(mysqldump) ************************* mysqldump 使用 命令格式 root@7a72b2ffd688:/# mysqldump --h ...

  9. Docker下Mysql数据备份

    Mysql数据备份 温馨提示 :本篇文章内容 手动备份 1.进到docker-compose配置文件所在目录 cd /root/apps/data-input-sy 2.查看所有镜像 docker-c ...

最新文章

  1. Powershell RESTAPI 访问Office365
  2. 万能点位图软件_【像素图】复古提花毛衣+秋风落叶十字绣图,非常适合这个季节...
  3. Red Hat Linux 5.4 开启xdm远程访问
  4. 斐波那契查找+思路分析
  5. CSS之Background-clip属性
  6. 米度教育零基础三个月学会机器学习视频总结
  7. WebService之Axis2 (3):使用services.xml文件发布WebService
  8. 批量实现 cv2.cvtColor(images, cv2.COLOR_GRAY2RGB)
  9. 用面向对象思想设计奥赛罗游戏
  10. PAIP.一些流氓软件的流氓营销方法.txt
  11. mybatis-plus 自定义UpdateWrapper(一)实现列自增
  12. Shopee平台有哪些电商大促活动?大促活动如何报名?
  13. 【每日一题】快速检索
  14. QTreeWidget使用整理
  15. 光电成像相关检测技术整理
  16. php网页怎么和PLC通讯,plc网络通讯方式和协议
  17. v-model双向绑定原理
  18. 期盼小豆发芽(2008.7.20)
  19. 如何配置java环境变量?
  20. 走航式海洋多参数剖面测量系统(MVP)验收记录

热门文章

  1. 汇编常见寄存器以及标志位
  2. 为什么大多数人是穷人?
  3. 前端抓潜,必须设置门槛,筛选优质客户
  4. 未来经济会发展到什么程度?
  5. 你觉得Mate30 5G可以用到四年吗?
  6. go实现本地文件搜索引擎
  7. P1 Human Pose Estimation人体姿态综述估计调研
  8. sql server 利用 For Xml Path('') 多行数据拼接成一个字符串
  9. 为SQL Server Always On可用性组配置故障转移群集,存储控制器和仲裁配置
  10. sql server死锁_如何解决SQL Server中的死锁