mysql存储引擎、事务与备份和恢复

1、存储引擎:数据库对同样的数据,有着不同的存储方式和管理方式

例如:一部电影在硬盘上有MP4,wmv,rmvb,flv等存储格式,所占空间与清晰度各不一样。
表里的数据也是如此,存储方法有多种;对于用户来说,同一张表的数据,无论用什么引擎来存储,用户看到的数据是一样的;对于服务器来说,是由区别的。
常用引擎:myisam,innodb,bdb,memory,archive等

myisam,批量插入速度快,不支持事务安全,锁表,全文索引
innodb,批量插入相对较慢,支持事务安全,锁行,全文索引

create table t(...)engine myisam chaset utf8;

2、事物:

通俗来讲,指一组操作要么成功执行,要么都不执行----->原子性
在所有操作没有执行完成之前,其他会话不能够看到中间的过程------>隔离性
事务发生前和发生之后,数据总额依然匹配------->一致性
事务产生的影响不能撤销------>持久性
如果出错,事务也不能撤销,只能通过“补偿事务”

开启事务:start transaction;
sql语句…
sql语句…

sql语句…
commit提交、rollback回滚
当一个事务执行commit或rollback时,事务就已经结束了

注意:一些语句会造成事务的饮食提交,比如:start transaction;

事务的基本原理:作用到事务日志文件,commit时才会真正作用到表数据文件

3、备份与恢复:

系统运行中,增量备份、整体备份
例:每周日整体备份一次,周一到周六备份当天;若周五出现问题,可以用周日的整体备份+周一、二、三、四来恢复
备份工具:第三方收费的、系统自带的(mysqldump)
mysqldump可以导出:
表:

  1. mysqldump -u用户名 -p密码 库名 表1 表2 …> 地址/备份文件名称 导出的是建表语句及insert语句
  2. 导出一个库下的所有表:mysqldump -u用户名 -p密码 库名 > 地址/备份文件名称

库:以库为单位导出

  1. mysqldump -u用户名 -p密码 -B 库1 库2 > 地址/备份文件名称 eps: mysqldump -uroot -p111111 -B mugua php > D:\\mandphp.sql \\导出muguahe和php
  2. eps: mysqldump -uroot -p111111 -A > D:\\mandphp.sql //导出所有库

恢复:

source D:\\mandphp.sql;

1:登录到mysql命令行

如果以库为单位导出的sql文件:mysql > source 备份文件地址
对于表级的备份文件:mysql > use 库名,mysql > source 备份文件地址

2:不登录到mysql命令行

针对库级的:mysql -uroot -p111111 < 备份文件地址
针对表级的:mysql -uroot -p111111 库名 < 备份文件地址

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值