事务是数据库中一系列操作数据的动作集合!事务有着高度的一致性!
要么全部执行,要么不执行,是一个不可分割的工作单位。
? 自动事务
MySQL默认就是自动提交事务!每句SQL语句前后都会嵌套事务!
自动开启!自动提交!报错自动回滚!
? 显式事务(自定义事务)
方案1:手动开启
start transaction
DMLSQL语句序列
commit/rollback
方案2:取消自动事务
set autocommit = off / 1; 关闭自动提交 本次窗口有效
DMLSQL语句序列
commit/rollback
注意:rollback会回滚开启事务之前的状态!commit以后SQL语句会真正的改变数据!
1)为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
2)当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。
如果不考虑事务的隔离性
,会出现以下问题:
未提交
的数据。update
的数据。insert
的数据。查看隔离级别
-- 模糊查询
show variables like ‘%isolation%‘;
-- 隔离名查询 MYSQL-80版本的名字与之前的名字不同,之前的名字为@@tx_isolation
select @@transaction_isolation;
修改隔离级别
set transaction isolation level 四个级别;
创建用户
CREATE USER `zhangsan` identified BY ‘123‘;
用户赋权
grant 权限(all/select..) on 库名.表名(*全部) to ‘用户名‘
查看权限
show grants for ‘账号‘
用户权限撤销
revoke 权限 on 库.表 from ‘用户名’;
删除用户
drop user ‘用户名‘
数据备份
mysqldump -u用户名 -p密码 要备份的数据库>磁盘位置.sql
数据恢复
mysql -u用户名 -p密码 要恢复的数据库<磁盘位置 .sql
原文:https://www.cnblogs.com/MonkeySun/p/13374850.html