mysql事物处理和管理配置

事务和ACID属性

ACID是一个简称,指出每个事务型RDBMS必须遵循的4个属性。为了验证是否满足ACID,一个RDBMS必须具有下面的特征:原子性,一致性,孤立性和持久性。



原子性:

意味着每个事务都必须被认为是一个不可分割的单元。假设一个事务由两个或者多个任务组成,其中的语句必须同时成功才能认为事务是成功的。如果事务失败,系统将会返回到事务以前的状态


一致性

不管事务是完全成功完成还是中途失败,当事务使系统处于一致的状态时存在一致性。在mysql中,一致性主要由mysql的日志机制处理,它记录了数据库的所有变化,为事务恢复提供了跟踪记录。如果系统在事务处理中间发生错误,mysql恢复过程将使用这些日志来发现事务是否已经完全成功地执行,是否需要返回,因而一致性属性保证了数据库从不返回一个未处理完的事务。


孤立性

孤立性是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到。即使在这样的一个系统中同时发生了多个事务,孤立性原则保证某个特定事务在完全完成之前,其结果是看不见的。


持久性

持久性是指即使系统崩溃,一个提交的事务仍在坚持。当一个事务完成,数据库的日志已经被更新时,持久性就开始发生作用。大多数RDBMS产品通过保存所有行为的日志来保证数据的持久性,这些行为是指在数据库中以任何方法更改数据。数据库日志记录了所有对于表的更新,查询,报表等。

如果系统崩溃或者数据存储介质被破坏,通过使用日志,系统能够恢复在重启钱进行的最后一次成功的更新,反映了在崩溃时处于执行过程的事务的变化。

mysql通过保存一条记录事务过程中系统变化的二进制事务日志文件来实现持久性。


事物的生命周期

为了初始化一个事务,并告诉mysql所有随后的sql语句需要被认为是一个单元,mysql提供了start transaction 命令来标记一个事务的开始

一旦sql语句被执行,我们可以使用commit命令把整个事务保存在磁盘上,或者使用rollback命令撤销所有的变化。

commit命令标记了事务块的结束。一旦事务交给了数据库,提交的数据对其他客户会话是可见的。


mysql的发布版本包括了一个命令行工具,专门用于帮助管理员执行常规任务,如修改mysql管理员口令或者重新安装mysql权限等,这个工具称为mysqladmin,可以在mysql安装的bin目录下找到。(我的是ubuntu14.04,安装目录在/usr/bin)


mysqladmin   支持如下命令


status                          返回服务器状态信息

password                    修改用户口令

shutdown                    关闭mysql服务

reload                          重载mysql授权表

refresh                         重置所有高速缓存和日志

variables                      返回所有服务器的变量值

version                        返回服务器版本

processlist                    返回服务器上所有进程的列表

kill                                取消一个服务器进程

ping                            测试服务器是否在活动状态



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值