当前位置: 首页 > wzjs >正文

琴行网站开发论文十大计算机培训学校

琴行网站开发论文,十大计算机培训学校,做网站用框架,城乡建设局网站首页一,为什么要进行数据备份 备份:能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方。冗余: 数据有多份冗余,但不等备份,只能防止机械故障带来的数据丢失,例如…

一,为什么要进行数据备份

  • 备份:能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方。
  • 冗余: 数据有多份冗余,但不等备份,只能防止机械故障带来的数据丢失,例如主备模式、数据库集群。

MySQL数据备份需要重视的内容

备份内容  databases Binlog   my.conf
所有备份数据都应放在非数据库本地,而且建议有多份副本。
测试环境中做日常恢复演练,恢复较备份更为重要。

备份过程中必须考虑因素:

1. 数据的一致性
2. 服务的可用性

二,备份类型

1.物理备份: 直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制,但不能恢复到不同的MySQL版本。

1、热备(hot backup)

在线备份,数据库处于运行状态

  • 对应用基本无影响(但是性能还是会有下降,所以尽量不要在主上做备份,在从库上做)

2、冷备(cold backup)

备份数据文件,需要停机,是在关闭数据库的时候进行的

  • 备份 datadir 目录下的所有文件

3、温备(warm backup)

  • 针对myisam的备份(myisam不支持热备),备份时候实例只读不可写,数据库锁定表格(不可写入但可读)的状态下进行的
  • 对应用影响很大
  • 通常加一个读锁

2.逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句(DDL DML DCL),适用于中小型数据库,效率相对较低。

3.物理和逻辑备份的区别

-逻辑备份物理备份
备份方式备份数据库建表、建库、插入sql语句备份数据库物理文件
优点备份文件相对较小,只备份表中的数据与结构恢复速度比较快
缺点恢复速度较慢(需要重建索引等)备份文件相对较大(备份表空间,包含数据与索引)
对业务影响I/O负载加大I/O负载加大
代表工具mysqldumpibbackup、xtrabackup,mysqlbackup

三,物理备份

1.完全备份-----完整备份:

每次对数据进行完整的备份,即对整个数据库的备份、
数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,
是差异备份与增量备份的基础。优点:备份与恢复操作简单方便,恢复时一次恢复到位,恢复速度快
缺点:占用空间大,备份速度慢

2.增量备份: 每次备份上一次备份到现在产生的新数据

只有那些在上次完全备份或者增量备份后被修改的文件才会被备份。
以上次完整备份或上次的增量备份的时间为时间点,仅备份这之间的数据变化.特点:因而备份的数据量小,占用空间小,备份速度快。 
但恢复时,需要从上一次的完整备份起按备份时间顺序,逐个备份版本进行恢复,
恢复时间长,如中间某次的备份数据损坏,将导致数据的丢失。

3.差异备份:只备份跟完整备份不一样的

备份那些自从第一次次完全备份之后被修改过的所有文件,
备份的时间起点是从第一次次完整备份起,
且以后每次备份都是和第一次完整备份进行比较(注意是第一次,不是上一次),
备份自第一次完整备份以来所有的修改过的文件。备份数据量会越来越大。特点:占用空间比增量备份大,比完整备份小.
恢复时仅需要恢复第一个完整版本和最后一次的差异版本
恢复速度介于完整备份和增量备份之间。

总结:

完整备份就是不管三七二十一,每次都把指定的备份目录完整的复制一遍,不管目录下的文件有没有变化;增量备份就是每次将之前(第一次、第二次、直到前一次)做过备份之后有变化的文件进行备份;差异备份就是每次都将第一次完整备份以来有变化的文件进行备份。

四,逻辑备份

一,mysqldump 本身为客户端工具:

远程备份数据库语法: 
# mysqldump  -h 服务器  -u用户名  -p密码   数据库名  > 备份文件.sql
本地备份语法: 
# mysqldump  -u用户名  -p密码   数据库名  > 备份文件.sql
常用参数
-A, --all-databases #备份所有库-B, --databases  #备份多个数据库-d, --no-data  #不导出任何数据,只导出数据库表结构。

1.备份库

备份一个库:相当于将这个库里面的所有表全部备份。
语法: # mysqldump -u root -p1 db1 > /db1.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' company > /home/back/company.bak
备份多个库:
语法:mysqldump  -u root -p1 -B  db1 db2 db3 > /db123.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' -B company testdb > /home/back/company_testdb.bak
备份所有的库:
语法:# mysqldump  -u root -p1 -A > /alldb.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' -A > /home/back/allbase.bak

2.备份表

语法: # mysqldump -u root -p1 db1  t1 > /db1.t1.bak
[root@mysql-server ~]# mkdir /home/back  #创建备份目录
[root@mysql-server ~]# mysqldump -uroot -p'qf123' company employee5 > /home/back/company.employee5.bak
备份多个表:
语法: mysqldump -u root -p1 db1 t1   t2 > /db1.t1_t2.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' company new_t1 new_t2  > /home/back/company.new_t1_t2.bak

3.备份表结构:

语法:mysqldump  -uroot -p123456 -d database table > dump.sql
[root@mysql-server ~]# mysqldump -uroot -p'qf123' -d company employee5 > /home/back/emp.bak
恢复表结构:
登陆数据库创建一个库
mysql> create database t1;
语法:# mysql -u root -p1 -D db1  < db1.t1.bak
[root@mysql-server ~]# mysql -uroot -p'qf123' -D t1 < /home/back/emp.bak

二,数据恢复

  • 为保证数据一致性,应在恢复数据之前停止数据库对外的服务,停止binlog日志 因为binlog使用binlog日志恢复数据时也会产生binlog日志。

恢复库和表

登陆mysql创建一个库
mysql> create database company;
恢复:
[root@mysql-server ~]# mysql -uroot -p'qf123' company < /home/back/company.bak
#新创建的库必须和原库名一致恢复表
方法一,进入mysql数据库恢复
mysql> use 所删除表的所在库
mysql> set sql_log_bin=0;   #停止binlog日志
Query OK, 0 rows affected (0.00 sec)
mysql> source /home/back/company.employee5.bak; -------加路径和备份的文件 恢复方式二:
# mysql -u root -p1  db1  < db1.t1.bak库名    备份的文件路径

数据的导入导出,没有表结构

  • 表的导出和导入只备份表内记录,不会备份表结构,需要通过mysqldump备份表结构,恢复时先恢复表结构,再导入数据。
mysql> show variables like "secure_file_priv"; ----查询导出数据的存放的目录
一,修改安全文件目录:
1.创建一个目录:mkdir  路径目录
[root@mysql-server ~]# mkdir /sql
2.修改权限
[root@mysql-server ~]# chown mysql.mysql /sql
3.编辑配置文件:
vim /etc/my.cnf
在[mysqld]里追加
secure_file_priv=/sql
4.重新启动mysql.
systemctl restart mysqld
二,导出数据
登陆数据查看数据
mysql> show databases;    #找到test库
mysql> use test   #进入test库
mysql> show tables;  #找到它t3表
mysql> select * from t3 into outfile '/sql/test.t3.bak';
#把t3表的数据导出到/sql下的test.t3.bak文件。
三,数据的导入
先将原来表里面的数据清除掉,只保留表结构
mysql> delete from t3;
mysql> load data infile '/sql/test.t3.bak' into table t3;
如果将数据导入别的表,需要创建这个表并创建相应的表结构。
http://www.dtcms.com/wzjs/66691.html

相关文章:

  • ps做网站图全网营销课程
  • 做视频网站成本品牌活动策划
  • 中国企业500强中国铁建全面的seo网站优化排名
  • 网站框架布局网站正能量免费推广软件
  • 江西营销网站建设免费浏览网站推广
  • 个人做网站开工作室可以打广告的平台
  • 网站上传程序流程企业新闻营销
  • 网站开发如何兼容不同ie河南网站推广那家好
  • 网站 高清 标清如何做百度人工服务热线电话
  • 成都网站制作游戏推广员平台
  • 龙岗政府在线区住房和建设局子网站公司品牌宣传
  • 如何建网站和推广网站维护收费标准
  • 什么类型的网站容易做不收费的小说网站排名
  • 电信开放81端口怎样做网站百度快照优化排名推广怎么做
  • 湘潭做网站推荐磐石网络网络营销课程个人感悟
  • 注册网站怎么做搭建网站步骤
  • 大英做网站专业的制作网站开发公司
  • 湘潭网站优化公司阿里云盘资源搜索引擎
  • 培训网站建设公司排名seo查询工具
  • 网站建设有哪些软件有哪些内容链接转二维码
  • 上海省住房与城乡建设厅网站百度服务商
  • 广东网站建设微信商城运营小程序开发制作
  • 海珠区住房和水务建设局网站营销号
  • 网站建设项目竞价推广代运营服务
  • 做系统网站建设三只松鼠软文范例500字
  • 中国十大网络运营商是哪些网站推广优化网址
  • 期货网站做模拟推广发布任务平台app下载
  • 做网站需要后端吗app平台搭建需要多少钱
  • 网站自动更新文章seo是什么职位简称
  • 域名就是网站名吗bt磁力搜索器